/* -*- 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 #include #include #include module oletest { interface XTestSequence: com::sun::star::uno::XInterface { sequence methodByte( [in] sequence aSeq ); sequence methodFloat( [in] sequence aSeq); sequence methodDouble( [in] sequence aSeq); sequence methodBool( [in] sequence aSeq); sequence methodShort( [in] sequence aSeq); sequence methodUShort( [in] sequence aSeq); sequence methodLong( [in] sequence aSeq); sequence methodULong( [in] sequence aSeq); sequence methodString( [in] sequence aSeq); sequence methodChar( [in] sequence aSeq); sequence methodAny ( [in] sequence aSeq); sequence methodType ( [in] sequence aSeq); sequence methodXInterface ( [in] sequence aSeq); sequence< sequence > methodSequence( [in] sequence< sequence< long > > aSeq); sequence< sequence > > methodSequence2( [in] sequence< sequence< sequence > > aSeq); sequence< com::sun::star::lang::XEventListener > methodXEventListeners( [in] sequence aSeq); sequence< sequence< com::sun::star::lang::XEventListener > > methodXEventListenersMul( [in] sequence< sequence< com::sun::star::lang::XEventListener> > aSeq); [attribute] sequence AttrByte; [attribute] sequence AttrFloat; [attribute] sequence AttrDouble; [attribute] sequence AttrBool; [attribute] sequence AttrShort; [attribute] sequence AttrUShort; [attribute] sequence AttrLong; [attribute] sequence AttrULong; [attribute] sequence AttrString; [attribute] sequence AttrChar; [attribute] sequence AttrAny; [attribute] sequence AttrType; [attribute] sequence< sequence > AttrSequence; [attribute] sequence< sequence< sequence > > 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 outSeqAny); void outSeqByte( [out] sequence 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 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 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 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 val); void inSeqXEventListener( [in] sequence listener, [in] sequence 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: */