summaryrefslogtreecommitdiffstats
path: root/extensions/test/ole/idl
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/test/ole/idl')
-rw-r--r--extensions/test/ole/idl/oletest.idl301
1 files changed, 301 insertions, 0 deletions
diff --git a/extensions/test/ole/idl/oletest.idl b/extensions/test/ole/idl/oletest.idl
new file mode 100644
index 000000000..b23f20b21
--- /dev/null
+++ b/extensions/test/ole/idl/oletest.idl
@@ -0,0 +1,301 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * 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 .
+ */
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/script/XInvocation.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/lang/XEventListener.idl>
+
+
+module oletest
+{
+
+interface XTestSequence: com::sun::star::uno::XInterface
+{
+ sequence<byte> methodByte( [in] sequence<byte> aSeq );
+ sequence<float> methodFloat( [in] sequence<float> aSeq);
+ sequence<double> methodDouble( [in] sequence<double> aSeq);
+ sequence<boolean> methodBool( [in] sequence<boolean> aSeq);
+ sequence<short> methodShort( [in] sequence<short> aSeq);
+ sequence<unsigned short> methodUShort( [in] sequence<unsigned short> aSeq);
+ sequence<long> methodLong( [in] sequence<long> aSeq);
+ sequence<unsigned long> methodULong( [in] sequence<unsigned long> aSeq);
+ sequence<string> methodString( [in] sequence<string> aSeq);
+ sequence<char> methodChar( [in] sequence<char> aSeq);
+ sequence<any> methodAny ( [in] sequence<any> aSeq);
+ sequence<type> methodType ( [in] sequence<type> aSeq);
+ sequence<com::sun::star::uno::XInterface> methodXInterface ( [in] sequence<com::sun::star::uno::XInterface> aSeq);
+ sequence< sequence <long> > methodSequence( [in] sequence< sequence< long > > aSeq);
+ sequence< sequence <sequence <long> > > methodSequence2( [in] sequence< sequence< sequence<long> > > aSeq);
+ sequence< com::sun::star::lang::XEventListener > methodXEventListeners( [in] sequence<com::sun::star::lang::XEventListener> aSeq);
+ sequence< sequence< com::sun::star::lang::XEventListener > > methodXEventListenersMul( [in] sequence< sequence< com::sun::star::lang::XEventListener> > aSeq);
+
+ [attribute] sequence<byte> AttrByte;
+ [attribute] sequence<float> AttrFloat;
+ [attribute] sequence<double> AttrDouble;
+ [attribute] sequence<boolean> AttrBool;
+ [attribute] sequence<short> AttrShort;
+ [attribute] sequence<unsigned short> AttrUShort;
+ [attribute] sequence<long> AttrLong;
+ [attribute] sequence<unsigned long> AttrULong;
+ [attribute] sequence<string> AttrString;
+ [attribute] sequence<char> AttrChar;
+ [attribute] sequence<any> AttrAny;
+ [attribute] sequence<type> AttrType;
+ [attribute] sequence< sequence<long> > AttrSequence;
+ [attribute] sequence< sequence< sequence <long> > > AttrSequence2;
+ [attribute] sequence< com::sun::star::uno::XInterface > AttrXInterface;
+
+ [attribute] byte AByte;
+ [attribute] float AFloat;
+ [attribute] double ADouble;
+ [attribute] boolean ABool;
+ [attribute] short AShort;
+ [attribute] unsigned short AUShort;
+ [attribute] long ALong;
+ [attribute] unsigned long AULong;
+ [attribute] string AString;
+ [attribute] char AChar;
+ [attribute] any AAny;
+ [attribute] type AType;
+ [attribute] com::sun::star::uno::XInterface AXInterface;
+ [attribute] com::sun::star::script::XInvocation AXInvocation;
+
+ void testout_methodByte( [out] byte rOut );
+ void testout_methodFloat( [out] float rOut);
+ void testout_methodDouble( [out] double rOut);
+ void testout_methodBool( [out] boolean rOut);
+ void testout_methodShort( [out] short rOut);
+ void testout_methodUShort( [out] unsigned short rOut);
+ void testout_methodLong( [out] long rOut);
+ void testout_methodULong( [out] unsigned long rOut);
+ void testout_methodHyper( [out] hyper rOut);
+ void testout_methodUHyper( [out] unsigned hyper rOut);
+ void testout_methodString( [out] string rOut);
+ void testout_methodChar( [out] char rOut);
+ void testout_methodAny ( [out] any rOut);
+ void testout_methodType ( [out] type rOut);
+ void testout_methodSequence( [out] sequence< long > rOut);
+ void testout_methodSequence2( [out] sequence < sequence< long > > rOut);
+ void testout_methodXInterface( [out] com::sun::star::uno::XInterface rOut);
+
+ void testout_methodMulParams1( [out] long rout1, [out] long rout2);
+ void testout_methodMulParams2( [out] long rout1, [out] long rout2, [out] string rout3);
+ void testout_methodMulParams3( [in] string sin, [out] string sout);
+ void testout_methodMulParams4( [in] float in1, [out] float out1, [in] long in2, [out] long out2, [in] long in3);
+
+ void testinout_methodByte( [inout] byte rOut );
+ void testinout_methodFloat( [inout] float rOut);
+ void testinout_methodDouble( [inout] double rOut);
+ void testinout_methodBool( [inout] boolean rOut);
+ void testinout_methodShort( [inout] short rOut);
+ void testinout_methodUShort( [inout] unsigned short rOut);
+ void testinout_methodLong( [inout] long rOut);
+ void testinout_methodULong( [inout] unsigned long rOut);
+ void testinout_methodHyper( [inout] hyper rOut);
+ void testinout_methodUHyper( [inout] unsigned hyper rOut);
+ void testinout_methodString( [inout] string rOut);
+ void testinout_methodChar( [inout] char rOut);
+ void testinout_methodAny ( [inout] any rOut);
+ void testinout_methodType ( [inout] type rOut);
+ void testinout_methodSequence( [inout] sequence< long > rOut);
+ void testinout_methodSequence2( [inout] sequence < sequence< long > > rOut);
+ void testinout_methodXInterface( [inout] com::sun::star::script::XInvocation rOut);
+ void testinout_methodXInterface2( [inout] com::sun::star::uno::XInterface rOut);
+
+ any methodAnyTest1( [in] any rIn);
+ [attribute] any AttrAny2;
+
+};
+interface XTestStruct: com::sun::star::uno::XInterface
+{
+// Method taking structs as arguments
+ void methodStruct( [in] com::sun::star::beans::Property aProp);
+// Methods returning structs
+ com::sun::star::beans::Property retMethodStruct();
+// Attributes as structs
+ [attribute] com::sun::star::beans::Property AttrStruct;
+
+ com::sun::star::beans::Property methodStruct2( [in] com::sun::star::beans::Property aProp);
+};
+
+
+struct SimpleStruct
+{
+ string message;
+};
+
+interface XTestInParameters: com::sun::star::uno::XInterface
+{
+ byte in_methodByte( [in] byte rIn );
+ float in_methodFloat( [in] float rIn);
+ double in_methodDouble( [in] double rIn);
+ boolean in_methodBool( [in] boolean rIn);
+ short in_methodShort( [in] short rIn);
+ unsigned short in_methodUShort( [in] unsigned short rIn);
+ long in_methodLong( [in] long rIn);
+ unsigned long in_methodULong( [in] unsigned long rIn);
+ hyper in_methodHyper( [in] hyper rIn);
+ unsigned hyper in_methodUHyper( [in] unsigned hyper rIn);
+ string in_methodString( [in] string rIn);
+ char in_methodChar( [in] char rIn);
+ any in_methodAny ( [in] any rIn);
+ type in_methodType ( [in] type rIn);
+ com::sun::star::uno::XInterface in_methodXInterface([in] com::sun::star::uno::XInterface rIn);
+ com::sun::star::script::XInvocation in_methodInvocation( [in] com::sun::star::script::XInvocation inv);
+ SimpleStruct in_methodStruct( [in] SimpleStruct aStruct);
+ void in_methodAll( [in] byte b, [in] float f, [in] double d, [in] boolean abool, [in]short sh,
+ [in] unsigned short us, [in] long l, [in] unsigned long ul,
+ [in] string s, [in] char c, [in] any a, [in] type t, [in] com::sun::star::script::XInvocation inv);
+};
+
+
+enum SimpleEnum
+{
+ A,
+ B,
+ C
+};
+
+interface XTestOther: com::sun::star::uno::XInterface
+{
+ // Any test
+ void other_methodAnyIn( [in] any rAny);
+ void other_methodAnyOut( [out] any rAny);
+ any other_methodAnyRet();
+ void in_float( [in] float val);
+ //typeInAny determines what type must be in rAny. If rAny contains
+ //a different type then an exception is being thrown
+ any other_methodAny([in] any rAny, [in] string typeInAny);
+};
+
+
+interface XSimple: com::sun::star::uno::XInterface
+{
+ void func( [in] string message);
+ string getName();
+};
+
+interface XSimple2: com::sun::star::uno::XInterface
+{
+ void func2( [in] string message);
+ string getName2();
+};
+
+interface XSimple3: com::sun::star::uno::XInterface
+{
+ void func3( [in] string message);
+ string getName3();
+};
+
+
+interface XCallback: com::sun::star::uno::XInterface
+{
+ void func1();
+ oletest::XSimple returnInterface();
+ void outInterface( [out] oletest::XSimple outInterface);
+ void outStruct( [out] oletest::SimpleStruct outStruct);
+ void outEnum( [out] oletest::SimpleEnum outEnum);
+ void outSeqAny( [out] sequence<any> outSeqAny);
+ void outSeqByte( [out] sequence<byte> outVal);
+ void outAny( [out] any outAny);
+ void outBool( [out] boolean outBool);
+ void outChar( [out] char outChar);
+ void outString( [out] string outString);
+ void outFloat( [out] float outFloat);
+ void outDouble( [out] double outDouble);
+ void outByte( [out] byte outByte);
+ void outShort( [out] short outShort);
+ void outLong( [out] long outLong);
+ void outValuesMixed( [in] long lval, [out] long outval, [in] string sval);
+ void outValuesAll( [out] oletest::XSimple outInterface,
+ [out] SimpleStruct outStruct ,
+ [out] SimpleEnum outEnum,
+ [out] sequence<any> outSeqAny,
+ [out] any outAny,
+ [out] boolean outBool,
+ [out] char outChar,
+ [out] string outString,
+ [out] float outFloat,
+ [out] double outDouble,
+ [out] byte outByte,
+ [out] short outShort,
+ [out] long outLong);
+// IN OUT parameters
+ void inoutInterface( [inout] oletest::XSimple inoutVal);
+ void inoutStruct( [inout] oletest::SimpleStruct inoutVal);
+ void inoutEnum( [inout] oletest::SimpleEnum inoutVal);
+ void inoutSeqAny( [inout] sequence<any> inoutVal);
+ void inoutAny( [inout] any inoutVal);
+ void inoutBool( [inout] boolean inoutVal);
+ void inoutChar( [inout] char inoutVal);
+ void inoutString( [inout] string inoutVal);
+ void inoutFloat( [inout] float inoutVal);
+ void inoutDouble( [inout] double inoutVal);
+ void inoutByte( [inout] byte inoutVal);
+ void inoutShort( [inout] short inoutVal);
+ void inoutLong( [inout] long inoutVal);
+
+ void inoutValuesAll( [inout] oletest::XSimple aXSimple,
+ [inout] oletest::SimpleStruct aStruct,
+ [inout] oletest::SimpleEnum aEnum,
+ [inout] sequence<any> aSeq,
+ [inout] any aAny,
+ [inout] boolean aBool,
+ [inout] char aChar,
+ [inout] string aString,
+ [inout] float aFloat,
+ [inout] double aDouble,
+ [inout] byte aByte,
+ [inout] short aShort,
+ [inout] long aLong);
+
+ // IN parameter
+
+ void inValues( [in] char aChar, [in] long aLong, [in] string aString);
+ void inSeqByte( [in] sequence<byte> val);
+ void inSeqXEventListener( [in] sequence<com::sun::star::lang::XEventListener> listener, [in]
+ sequence<com::sun::star::lang::EventObject> events);
+
+ // Attributes
+ [attribute] oletest::XSimple simple;
+
+
+
+
+};
+
+interface XTestInterfaces: com::sun::star::uno::XInterface
+{
+ // Any test
+ void testInterface( [in] oletest::XCallback xCallback, [in] long mode);
+ void testInterface2( [in] oletest::XSimple xSimple, [in] long mode);
+};
+
+interface XIdentity: com::sun::star::uno::XInterface
+{
+ void setObject([in] com::sun::star::uno::XInterface val);
+ boolean isSame( [in] com::sun::star::uno::XInterface val);
+
+ com::sun::star::uno::XInterface getThis();
+};
+
+}; // oletest
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */