blob: 03dbd8dc9e851cca981e2e675b4ae916ce4d0c60 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the 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;
};
};