summaryrefslogtreecommitdiff
path: root/extensions/test/ole/unoTocomCalls/XCallback_Impl/XCallback_Impl.idl
blob: c745dfb6a46ae2c612e3aeba2a2cb59e5239a24f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: XCallback_Impl.idl,v $
 * $Revision: 1.5 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
// XCallback_Impl.idl : IDL source for XCallback_Impl.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (XCallback_Impl.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";
    [
        object,
        uuid(180FF55F-6F5C-11D4-8330-005004526AB4),
        dual,
        helpstring("ICallback Interface"),
        pointer_default(unique)
    ]
    interface ICallback : IDispatch
    {
        [id(1), helpstring("method func1")] HRESULT func1();
        [id(2), helpstring("method returnInterface")] HRESULT returnInterface([out, retval] IDispatch** ppdisp);
        [id(3), helpstring("method outInterface")] HRESULT outInterface([out] IDispatch** ppdisp);
        [id(4), helpstring("method outValuesMixed")] HRESULT outValuesMixed([in] long val, [out] long* pval, [in] BSTR string);
        [id(5), helpstring("method outValuesAll")] HRESULT outValuesAll([out] IDispatch** ppdisp, [out] IDispatch** ppSimpleStruct, [out] long* aSimpleEnum,
        [out] SAFEARRAY( VARIANT)* outSeq,
        [out] VARIANT* varAny,
        [out] VARIANT_BOOL * aBool,
           [out] short* aChar,
            [out] BSTR* aString ,
            [out] float* aFloat,
            [out] double* aDouble,
            [out] unsigned char*  aByte,
            [out] short* aShort,
            [out]long* aLong);
//      );
        [id(6), helpstring("method outStruct")] HRESULT outStruct([out] IDispatch** outStruct);
        [id(7), helpstring("method outEnum")] HRESULT outEnum([out] long* outEnum);
        [id(8), helpstring("method outSeqAny")] HRESULT outSeqAny([out] SAFEARRAY( VARIANT)* outSeq);
        [id(9), helpstring("method outAny")] HRESULT outAny([out] VARIANT* outAny);
        [id(10), helpstring("method outBool")] HRESULT outBool([out]VARIANT_BOOL* outBool);
        [id(11), helpstring("method outChar")] HRESULT outChar([out] short* outChar);
        [id(12), helpstring("method outString")] HRESULT outString([out] BSTR * outString);
        [id(13), helpstring("method outFloat")] HRESULT outFloat([out] float* outFloat);
        [id(14), helpstring("method outDouble")] HRESULT outDouble([out] double* outDouble);
        [id(16), helpstring("method outShort")] HRESULT outShort([out] short *outShort);
        [id(17), helpstring("method outLong")] HRESULT outLong([out] long* outLong);
        [id(20), helpstring("method outByte")] HRESULT outByte([out] unsigned char* outByte);
        [id(21), helpstring("method inoutInterface")] HRESULT inoutInterface([in,out] IDispatch** ppdisp);
        [id(22), helpstring("method inoutStruct")] HRESULT inoutStruct([in,out] IDispatch** inoutVal);
        [id(23), helpstring("method inoutEnum")] HRESULT inoutEnum([in,out] long * inoutVal);
        [id(24), helpstring("method inoutSeqAny")] HRESULT inoutSeqAny([in,out] SAFEARRAY(VARIANT)* pArray);
        [id(25), helpstring("method inoutAny")] HRESULT inoutAny([in,out] VARIANT* inoutVal);
        [id(26), helpstring("method inoutBool")] HRESULT inoutBool([in,out] VARIANT_BOOL * inoutVal);
        [id(27), helpstring("method inoutChar")] HRESULT inoutChar([in,out] short* inoutVal);
        [id(28), helpstring("method inoutString")] HRESULT inoutString([in,out] BSTR *inoutVal);
        [id(29), helpstring("method inoutFloat")] HRESULT inoutFloat([in,out] float* inoutVal);
        [id(30), helpstring("method inoutDouble")] HRESULT inoutDouble([in,out] double* inoutVal);
        [id(31), helpstring("method inoutByte")] HRESULT inoutByte([in,out] unsigned char* inoutVal);
        [id(32), helpstring("method inoutShort")] HRESULT inoutShort([in,out] short* inoutVal);
        [id(33), helpstring("method inoutLong")] HRESULT inoutLong([in,out] long* inoutVal);
        [id(34), helpstring("method inoutValueAll")] HRESULT inoutValuesAll(
                         [in,out] IDispatch** aXSimple,
                         [in,out] IDispatch** aStruct,
                         [in,out] long* aEnum,
                         [in,out]  SAFEARRAY( VARIANT)* aSeq,
                         [in,out] VARIANT* aAny,
                         [in,out] VARIANT_BOOL* aBool,
                         [in,out] short* aChar,
                         [in,out] BSTR* aString,
                         [in,out] float* aFloat,
                         [in,out] double* aDouble,
                         [in,out] unsigned char* aByte,
                         [in,out] short* aShort,
                         [in,out] long* aLong);
        [id(35), helpstring("method inValues")] HRESULT inValues([in]short aChar, [in] long aLong, [in] BSTR aString);
        [id(36), helpstring("method outSeqByte")] HRESULT outSeqByte([out] SAFEARRAY(unsigned char)* outVal);
        [id(37), helpstring("method inSeqByte")] HRESULT inSeqByte([in] SAFEARRAY(VARIANT) val);
        [id(38), helpstring("method inSeqXEventListener")] HRESULT inSeqXEventListener([in] SAFEARRAY(VARIANT) listener,
                                                                        [in] SAFEARRAY(VARIANT) event);

    };
    [
        object,
        uuid(180FF564-6F5C-11D4-8330-005004526AB4),
        dual,
        helpstring("ISimple Interface"),
        pointer_default(unique)
    ]
    interface ISimple : IDispatch
    {
        [id(1), helpstring("method func")] HRESULT func( [in] BSTR message);
        [id(2), helpstring("method func2")] HRESULT func2([in] BSTR message);
        [id(3), helpstring("method func3")] HRESULT func3([in] BSTR message);
        [propget, id(4), helpstring("property _implementedInterfaces")] HRESULT _implementedInterfaces([out, retval] SAFEARRAY(BSTR) *pVal);
    };



[
    uuid(180FF553-6F5C-11D4-8330-005004526AB4),
    version(1.0),
    helpstring("XCallback_Impl 1.0 Type Library")
]
library XCALLBACK_IMPLLib
{
    importlib("stdole32.tlb");
    importlib("stdole2.tlb");

    [
        uuid(180FF560-6F5C-11D4-8330-005004526AB4),
        helpstring("Callback Class")
    ]
    coclass Callback
    {
        [default] interface ICallback;
    };
    [
        uuid(180FF565-6F5C-11D4-8330-005004526AB4),
        helpstring("Simple Class")
    ]
    coclass Simple
    {
        [default] interface ISimple;
    };
};