1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XCallback_Impl.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 // XCallback_Impl.idl : IDL source for XCallback_Impl.dll
33 // This file will be processed by the MIDL tool to
34 // produce the type library (XCallback_Impl.tlb) and marshalling code.
40 uuid(180FF55F
-6F5C
-11D4
-8330-005004526AB4
),
42 helpstring("ICallback Interface"),
43 pointer_default(unique)
45 interface ICallback
: IDispatch
47 [id(1), helpstring("method func1")] HRESULT func1
();
48 [id(2), helpstring("method returnInterface")] HRESULT returnInterface
([out, retval] IDispatch
** ppdisp
);
49 [id(3), helpstring("method outInterface")] HRESULT outInterface
([out] IDispatch
** ppdisp
);
50 [id(4), helpstring("method outValuesMixed")] HRESULT outValuesMixed
([in] long val
, [out] long* pval
, [in] BSTR string);
51 [id(5), helpstring("method outValuesAll")] HRESULT outValuesAll
([out] IDispatch
** ppdisp
, [out] IDispatch
** ppSimpleStruct
, [out] long* aSimpleEnum
,
52 [out] SAFEARRAY( VARIANT)* outSeq
,
53 [out] VARIANT* varAny
,
54 [out] VARIANT_BOOL * aBool
,
58 [out] double* aDouble
,
59 [out] unsigned char* aByte
,
63 [id(6), helpstring("method outStruct")] HRESULT outStruct
([out] IDispatch
** outStruct
);
64 [id(7), helpstring("method outEnum")] HRESULT outEnum
([out] long* outEnum
);
65 [id(8), helpstring("method outSeqAny")] HRESULT outSeqAny
([out] SAFEARRAY( VARIANT)* outSeq
);
66 [id(9), helpstring("method outAny")] HRESULT outAny
([out] VARIANT* outAny
);
67 [id(10), helpstring("method outBool")] HRESULT outBool
([out]VARIANT_BOOL* outBool
);
68 [id(11), helpstring("method outChar")] HRESULT outChar
([out] short* outChar
);
69 [id(12), helpstring("method outString")] HRESULT outString
([out] BSTR * outString
);
70 [id(13), helpstring("method outFloat")] HRESULT outFloat
([out] float* outFloat
);
71 [id(14), helpstring("method outDouble")] HRESULT outDouble
([out] double* outDouble
);
72 [id(16), helpstring("method outShort")] HRESULT outShort
([out] short *outShort
);
73 [id(17), helpstring("method outLong")] HRESULT outLong
([out] long* outLong
);
74 [id(20), helpstring("method outByte")] HRESULT outByte
([out] unsigned char* outByte
);
75 [id(21), helpstring("method inoutInterface")] HRESULT inoutInterface
([in,out] IDispatch
** ppdisp
);
76 [id(22), helpstring("method inoutStruct")] HRESULT inoutStruct
([in,out] IDispatch
** inoutVal
);
77 [id(23), helpstring("method inoutEnum")] HRESULT inoutEnum
([in,out] long * inoutVal
);
78 [id(24), helpstring("method inoutSeqAny")] HRESULT inoutSeqAny
([in,out] SAFEARRAY(VARIANT)* pArray
);
79 [id(25), helpstring("method inoutAny")] HRESULT inoutAny
([in,out] VARIANT* inoutVal
);
80 [id(26), helpstring("method inoutBool")] HRESULT inoutBool
([in,out] VARIANT_BOOL * inoutVal
);
81 [id(27), helpstring("method inoutChar")] HRESULT inoutChar
([in,out] short* inoutVal
);
82 [id(28), helpstring("method inoutString")] HRESULT inoutString
([in,out] BSTR *inoutVal
);
83 [id(29), helpstring("method inoutFloat")] HRESULT inoutFloat
([in,out] float* inoutVal
);
84 [id(30), helpstring("method inoutDouble")] HRESULT inoutDouble
([in,out] double* inoutVal
);
85 [id(31), helpstring("method inoutByte")] HRESULT inoutByte
([in,out] unsigned char* inoutVal
);
86 [id(32), helpstring("method inoutShort")] HRESULT inoutShort
([in,out] short* inoutVal
);
87 [id(33), helpstring("method inoutLong")] HRESULT inoutLong
([in,out] long* inoutVal
);
88 [id(34), helpstring("method inoutValueAll")] HRESULT inoutValuesAll
(
89 [in,out] IDispatch
** aXSimple
,
90 [in,out] IDispatch
** aStruct
,
92 [in,out] SAFEARRAY( VARIANT)* aSeq
,
93 [in,out] VARIANT* aAny
,
94 [in,out] VARIANT_BOOL* aBool
,
95 [in,out] short* aChar
,
96 [in,out] BSTR* aString
,
97 [in,out] float* aFloat
,
98 [in,out] double* aDouble
,
99 [in,out] unsigned char* aByte
,
100 [in,out] short* aShort
,
101 [in,out] long* aLong
);
102 [id(35), helpstring("method inValues")] HRESULT inValues
([in]short aChar
, [in] long aLong
, [in] BSTR aString
);
103 [id(36), helpstring("method outSeqByte")] HRESULT outSeqByte
([out] SAFEARRAY(unsigned char)* outVal
);
104 [id(37), helpstring("method inSeqByte")] HRESULT inSeqByte
([in] SAFEARRAY(VARIANT) val
);
105 [id(38), helpstring("method inSeqXEventListener")] HRESULT inSeqXEventListener
([in] SAFEARRAY(VARIANT) listener
,
106 [in] SAFEARRAY(VARIANT) event
);
111 uuid(180FF564
-6F5C
-11D4
-8330-005004526AB4
),
113 helpstring("ISimple Interface"),
114 pointer_default(unique)
116 interface ISimple
: IDispatch
118 [id(1), helpstring("method func")] HRESULT func
( [in] BSTR message);
119 [id(2), helpstring("method func2")] HRESULT func2
([in] BSTR message);
120 [id(3), helpstring("method func3")] HRESULT func3
([in] BSTR message);
121 [propget, id(4), helpstring("property _implementedInterfaces")] HRESULT _implementedInterfaces
([out, retval] SAFEARRAY(BSTR) *pVal
);
127 uuid(180FF553
-6F5C
-11D4
-8330-005004526AB4
),
129 helpstring("XCallback_Impl 1.0 Type Library")
131 library XCALLBACK_IMPLLib
133 importlib
("stdole32.tlb");
134 importlib
("stdole2.tlb");
137 uuid(180FF560
-6F5C
-11D4
-8330-005004526AB4
),
138 helpstring("Callback Class")
142 [default] interface ICallback
;
145 uuid(180FF565
-6F5C
-11D4
-8330-005004526AB4
),
146 helpstring("Simple Class")
150 [default] interface ISimple
;