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