1*62ed5000SAndrew Rist/************************************************************** 2cdf0e10cSrcweir * 3*62ed5000SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*62ed5000SAndrew Rist * or more contributor license agreements. See the NOTICE file 5*62ed5000SAndrew Rist * distributed with this work for additional information 6*62ed5000SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*62ed5000SAndrew Rist * to you under the Apache License, Version 2.0 (the 8*62ed5000SAndrew Rist * "License"); you may not use this file except in compliance 9*62ed5000SAndrew Rist * with the License. You may obtain a copy of the License at 10*62ed5000SAndrew Rist * 11*62ed5000SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*62ed5000SAndrew Rist * 13*62ed5000SAndrew Rist * Unless required by applicable law or agreed to in writing, 14*62ed5000SAndrew Rist * software distributed under the License is distributed on an 15*62ed5000SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*62ed5000SAndrew Rist * KIND, either express or implied. See the License for the 17*62ed5000SAndrew Rist * specific language governing permissions and limitations 18*62ed5000SAndrew Rist * under the License. 19*62ed5000SAndrew Rist * 20*62ed5000SAndrew Rist *************************************************************/ 21*62ed5000SAndrew Rist 22*62ed5000SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir#include "com/sun/star/lang/IllegalArgumentException.idl" 25cdf0e10cSrcweir#include "com/sun/star/lang/XComponent.idl" 26cdf0e10cSrcweir#include "com/sun/star/uno/XComponentContext.idl" 27cdf0e10cSrcweir#include "com/sun/star/uno/XInterface.idl" 28cdf0e10cSrcweir 29cdf0e10cSrcweirmodule test { module testtools { module bridgetest { 30cdf0e10cSrcweir 31cdf0e10cSrcweirenum TestEnum 32cdf0e10cSrcweir{ 33cdf0e10cSrcweir TEST, 34cdf0e10cSrcweir ONE, 35cdf0e10cSrcweir TWO, 36cdf0e10cSrcweir CHECK, 37cdf0e10cSrcweir LOLA, 38cdf0e10cSrcweir PALOO, 39cdf0e10cSrcweir ZA 40cdf0e10cSrcweir}; 41cdf0e10cSrcweir 42cdf0e10cSrcweirenum TestBadEnum { M = 1 }; 43cdf0e10cSrcweir 44cdf0e10cSrcweirstruct TestStruct 45cdf0e10cSrcweir{ 46cdf0e10cSrcweir long member; 47cdf0e10cSrcweir}; 48cdf0e10cSrcweir 49cdf0e10cSrcweir/** 50cdf0e10cSrcweir * simple types 51cdf0e10cSrcweir */ 52cdf0e10cSrcweirstruct TestSimple 53cdf0e10cSrcweir{ 54cdf0e10cSrcweir boolean Bool; 55cdf0e10cSrcweir char Char; 56cdf0e10cSrcweir byte Byte; 57cdf0e10cSrcweir short Short; 58cdf0e10cSrcweir unsigned short UShort; 59cdf0e10cSrcweir long Long; 60cdf0e10cSrcweir unsigned long ULong; 61cdf0e10cSrcweir hyper Hyper; 62cdf0e10cSrcweir unsigned hyper UHyper; 63cdf0e10cSrcweir float Float; 64cdf0e10cSrcweir double Double; 65cdf0e10cSrcweir TestEnum Enum; 66cdf0e10cSrcweir}; 67cdf0e10cSrcweir/** 68cdf0e10cSrcweir * equal to max size returned in registers on x86_64 69cdf0e10cSrcweir */ 70cdf0e10cSrcweirstruct SmallStruct 71cdf0e10cSrcweir{ 72cdf0e10cSrcweir hyper a; 73cdf0e10cSrcweir hyper b; 74cdf0e10cSrcweir}; 75cdf0e10cSrcweir/** 76cdf0e10cSrcweir * equal to max size returned in registers on ia64 77cdf0e10cSrcweir */ 78cdf0e10cSrcweirstruct MediumStruct 79cdf0e10cSrcweir{ 80cdf0e10cSrcweir hyper a; 81cdf0e10cSrcweir hyper b; 82cdf0e10cSrcweir hyper c; 83cdf0e10cSrcweir hyper d; 84cdf0e10cSrcweir}; 85cdf0e10cSrcweir/** 86cdf0e10cSrcweir * bigger than max size returned in registers on ia64 87cdf0e10cSrcweir */ 88cdf0e10cSrcweirstruct BigStruct 89cdf0e10cSrcweir{ 90cdf0e10cSrcweir hyper a; 91cdf0e10cSrcweir hyper b; 92cdf0e10cSrcweir hyper c; 93cdf0e10cSrcweir hyper d; 94cdf0e10cSrcweir hyper e; 95cdf0e10cSrcweir hyper f; 96cdf0e10cSrcweir hyper g; 97cdf0e10cSrcweir hyper h; 98cdf0e10cSrcweir}; 99cdf0e10cSrcweir/** 100cdf0e10cSrcweir * all floats, ia64 handles them specially 101cdf0e10cSrcweir */ 102cdf0e10cSrcweirstruct AllFloats 103cdf0e10cSrcweir{ 104cdf0e10cSrcweir float a; 105cdf0e10cSrcweir float b; 106cdf0e10cSrcweir float c; 107cdf0e10cSrcweir float d; 108cdf0e10cSrcweir}; 109cdf0e10cSrcweir/** 110cdf0e10cSrcweir * complex types adding string, inteface, any 111cdf0e10cSrcweir */ 112cdf0e10cSrcweirstruct TestElement : TestSimple 113cdf0e10cSrcweir{ 114cdf0e10cSrcweir string String; 115cdf0e10cSrcweir com::sun::star::uno::XInterface Interface; 116cdf0e10cSrcweir any Any; 117cdf0e10cSrcweir}; 118cdf0e10cSrcweir/** 119cdf0e10cSrcweir * adding even more complexity, sequence< TestElement > 120cdf0e10cSrcweir */ 121cdf0e10cSrcweirstruct TestDataElements : TestElement 122cdf0e10cSrcweir{ 123cdf0e10cSrcweir sequence< TestElement > Sequence; 124cdf0e10cSrcweir}; 125cdf0e10cSrcweir 126cdf0e10cSrcweir/** 127cdf0e10cSrcweir * typedef used in interface 128cdf0e10cSrcweir */ 129cdf0e10cSrcweirtypedef TestDataElements TestData; 130cdf0e10cSrcweir 131cdf0e10cSrcweirstruct TestPolyStruct<T> { T member; }; 132cdf0e10cSrcweirstruct TestPolyStruct2<T,C> { 133cdf0e10cSrcweir T member1; 134cdf0e10cSrcweir C member2; 135cdf0e10cSrcweir}; 136cdf0e10cSrcweir 137cdf0e10cSrcweirinterface XRecursiveCall : com::sun::star::uno::XInterface 138cdf0e10cSrcweir{ 139cdf0e10cSrcweir /*** 140cdf0e10cSrcweir * @param nToCall If nToCall is 0, the method returns immeadiatly. 141cdf0e10cSrcweir * Otherwise, call the given interface with nToCall -1 142cdf0e10cSrcweir * 143cdf0e10cSrcweir ***/ 144cdf0e10cSrcweir void callRecursivly( [in] XRecursiveCall xCall , [in] long nToCall ); 145cdf0e10cSrcweir}; 146cdf0e10cSrcweir 147cdf0e10cSrcweirinterface XMultiBase1 { 148cdf0e10cSrcweir [attribute] double att1; // initially 0.0 149cdf0e10cSrcweir long fn11([in] long arg); // return 11 * arg 150cdf0e10cSrcweir string fn12([in] string arg); // return "12" + arg 151cdf0e10cSrcweir}; 152cdf0e10cSrcweir 153cdf0e10cSrcweirinterface XMultiBase2: XMultiBase1 { 154cdf0e10cSrcweir long fn21([in] long arg); // return 21 * arg 155cdf0e10cSrcweir string fn22([in] string arg); // return "22" + arg 156cdf0e10cSrcweir}; 157cdf0e10cSrcweir 158cdf0e10cSrcweirinterface XMultiBase3 { 159cdf0e10cSrcweir [attribute] double att3; // initially 0.0 160cdf0e10cSrcweir long fn31([in] long arg); // return 31 * arg 161cdf0e10cSrcweir string fn32([in] string arg); // return "32" + arg 162cdf0e10cSrcweir long fn33(); // return 33 163cdf0e10cSrcweir}; 164cdf0e10cSrcweir 165cdf0e10cSrcweirinterface XMultiBase3a: XMultiBase3 {}; 166cdf0e10cSrcweir 167cdf0e10cSrcweirinterface XMultiBase4 { 168cdf0e10cSrcweir long fn41([in] long arg); // return 41 * arg 169cdf0e10cSrcweir}; 170cdf0e10cSrcweir 171cdf0e10cSrcweirinterface XMultiBase5 { 172cdf0e10cSrcweir interface XMultiBase3; 173cdf0e10cSrcweir interface XMultiBase4; 174cdf0e10cSrcweir interface XMultiBase1; 175cdf0e10cSrcweir}; 176cdf0e10cSrcweir 177cdf0e10cSrcweirinterface XMultiBase6 { 178cdf0e10cSrcweir interface XMultiBase2; 179cdf0e10cSrcweir interface XMultiBase3a; 180cdf0e10cSrcweir interface XMultiBase5; 181cdf0e10cSrcweir long fn61([in] long arg); // return 61 * arg 182cdf0e10cSrcweir string fn62([in] string arg); // return "62" + arg 183cdf0e10cSrcweir}; 184cdf0e10cSrcweir 185cdf0e10cSrcweirinterface XMultiBase7 { 186cdf0e10cSrcweir long fn71([in] long arg); // return 71 * arg 187cdf0e10cSrcweir string fn72([in] string arg); // return "72" + arg 188cdf0e10cSrcweir long fn73(); // return 73 189cdf0e10cSrcweir}; 190cdf0e10cSrcweir 191cdf0e10cSrcweirinterface XMulti { 192cdf0e10cSrcweir interface XMultiBase6; 193cdf0e10cSrcweir interface XMultiBase7; 194cdf0e10cSrcweir}; 195cdf0e10cSrcweir 196cdf0e10cSrcweir/** 197cdf0e10cSrcweir * Monster test interface to test bridge calls. 198cdf0e10cSrcweir * An implementation of this object has to store given values and return whenever there 199cdf0e10cSrcweir * is an out param or return value. 200cdf0e10cSrcweir */ 201cdf0e10cSrcweirinterface XBridgeTestBase : com::sun::star::uno::XInterface 202cdf0e10cSrcweir{ 203cdf0e10cSrcweir /** 204cdf0e10cSrcweir * in parameter test, tests by calls reference also (complex types) 205cdf0e10cSrcweir */ 206cdf0e10cSrcweir [oneway] void setValues( [in] boolean bBool, [in] char cChar, [in] byte nByte, 207cdf0e10cSrcweir [in] short nShort, [in] unsigned short nUShort, 208cdf0e10cSrcweir [in] long nLong, [in] unsigned long nULong, 209cdf0e10cSrcweir [in] hyper nHyper, [in] unsigned hyper nUHyper, 210cdf0e10cSrcweir [in] float fFloat, [in] double fDouble, 211cdf0e10cSrcweir [in] TestEnum eEnum, [in] string aString, 212cdf0e10cSrcweir [in] com::sun::star::uno::XInterface xInterface, [in] any aAny, 213cdf0e10cSrcweir [in] sequence< TestElement > aSequence, 214cdf0e10cSrcweir [in] TestData aStruct ); 215cdf0e10cSrcweir /** 216cdf0e10cSrcweir * inout parameter test 217cdf0e10cSrcweir * 218cdf0e10cSrcweir * @return aStruct. The out parameter contain the values, that were previously set 219cdf0e10cSrcweir * by setValues or (if not called before) default constructed values. 220cdf0e10cSrcweir * 221cdf0e10cSrcweir */ 222cdf0e10cSrcweir TestData setValues2( [inout] boolean bBool, [inout] char cChar, [inout] byte nByte, 223cdf0e10cSrcweir [inout] short nShort, [inout] unsigned short nUShort, 224cdf0e10cSrcweir [inout] long nLong, [inout] unsigned long nULong, 225cdf0e10cSrcweir [inout] hyper nHyper, [inout] unsigned hyper nUHyper, 226cdf0e10cSrcweir [inout] float fFloat, [inout] double fDouble, 227cdf0e10cSrcweir [inout] TestEnum eEnum, [inout] string aString, 228cdf0e10cSrcweir [inout] com::sun::star::uno::XInterface xInterface, [inout] any aAny, 229cdf0e10cSrcweir [inout] sequence< TestElement > aSequence, 230cdf0e10cSrcweir [inout] TestData aStruct ); 231cdf0e10cSrcweir 232cdf0e10cSrcweir /** 233cdf0e10cSrcweir * out parameter test 234cdf0e10cSrcweir */ 235cdf0e10cSrcweir TestData getValues( [out] boolean bBool, [out] char cChar, [out] byte nByte, 236cdf0e10cSrcweir [out] short nShort, [out] unsigned short nUShort, 237cdf0e10cSrcweir [out] long nLong, [out] unsigned long nULong, 238cdf0e10cSrcweir [out] hyper nHyper, [out] unsigned hyper nUHyper, 239cdf0e10cSrcweir [out] float fFloat, [out] double fDouble, 240cdf0e10cSrcweir [out] TestEnum eEnum, [out] string aString, 241cdf0e10cSrcweir [out] com::sun::star::uno::XInterface xInterface, [out] any aAny, 242cdf0e10cSrcweir [out] sequence< TestElement > aSequence, 243cdf0e10cSrcweir [out] TestData aStruct ); 244cdf0e10cSrcweir 245cdf0e10cSrcweir /** 246cdf0e10cSrcweir * register return test 1 247cdf0e10cSrcweir */ 248cdf0e10cSrcweir SmallStruct echoSmallStruct( [in] SmallStruct aStruct ); 249cdf0e10cSrcweir 250cdf0e10cSrcweir /** 251cdf0e10cSrcweir * register return test 2 252cdf0e10cSrcweir */ 253cdf0e10cSrcweir MediumStruct echoMediumStruct( [in] MediumStruct aStruct ); 254cdf0e10cSrcweir 255cdf0e10cSrcweir /** 256cdf0e10cSrcweir * register return test 3 257cdf0e10cSrcweir */ 258cdf0e10cSrcweir BigStruct echoBigStruct( [in] BigStruct aStruct ); 259cdf0e10cSrcweir 260cdf0e10cSrcweir /** 261cdf0e10cSrcweir * register return test 4 262cdf0e10cSrcweir */ 263cdf0e10cSrcweir AllFloats echoAllFloats( [in] AllFloats aStruct ); 264cdf0e10cSrcweir 265cdf0e10cSrcweir /** 266cdf0e10cSrcweir * register return test 4 (i107182) 267cdf0e10cSrcweir */ 268cdf0e10cSrcweir long testPPCAlignment( [in] hyper l1, [in] hyper l2, [in] long i1, [in] hyper l3, [in] long i2 ); 269cdf0e10cSrcweir 270cdf0e10cSrcweir [attribute] boolean Bool; 271cdf0e10cSrcweir [attribute] byte Byte; 272cdf0e10cSrcweir [attribute] char Char; 273cdf0e10cSrcweir [attribute] short Short; 274cdf0e10cSrcweir [attribute] unsigned short UShort; 275cdf0e10cSrcweir [attribute] long Long; 276cdf0e10cSrcweir [attribute] unsigned long ULong; 277cdf0e10cSrcweir [attribute] hyper Hyper; 278cdf0e10cSrcweir [attribute] unsigned hyper UHyper; 279cdf0e10cSrcweir [attribute] float Float; 280cdf0e10cSrcweir [attribute] double Double; 281cdf0e10cSrcweir [attribute] TestEnum Enum; 282cdf0e10cSrcweir [attribute] string String; 283cdf0e10cSrcweir [attribute] com::sun::star::uno::XInterface Interface; 284cdf0e10cSrcweir [attribute] any Any; 285cdf0e10cSrcweir [attribute] sequence< TestElement > Sequence; 286cdf0e10cSrcweir [attribute] TestData Struct; 287cdf0e10cSrcweir 288cdf0e10cSrcweir [attribute] long RaiseAttr1 { 289cdf0e10cSrcweir set raises (com::sun::star::lang::IllegalArgumentException); 290cdf0e10cSrcweir }; 291cdf0e10cSrcweir [attribute, readonly] long RaiseAttr2 { 292cdf0e10cSrcweir get raises (com::sun::star::lang::IllegalArgumentException); 293cdf0e10cSrcweir }; 294cdf0e10cSrcweir 295cdf0e10cSrcweir TestPolyStruct<boolean> transportPolyBoolean( 296cdf0e10cSrcweir [in] TestPolyStruct<boolean> arg); 297cdf0e10cSrcweir void transportPolyHyper([inout] TestPolyStruct<hyper> arg); 298cdf0e10cSrcweir void transportPolySequence( 299cdf0e10cSrcweir [in] TestPolyStruct<sequence<any> > arg1, 300cdf0e10cSrcweir [out] TestPolyStruct<sequence<any> > arg2); 301cdf0e10cSrcweir 302cdf0e10cSrcweir TestPolyStruct<long> getNullPolyLong(); 303cdf0e10cSrcweir TestPolyStruct<string> getNullPolyString(); 304cdf0e10cSrcweir TestPolyStruct<type> getNullPolyType(); 305cdf0e10cSrcweir TestPolyStruct<any> getNullPolyAny(); 306cdf0e10cSrcweir TestPolyStruct<sequence<boolean> > getNullPolySequence(); 307cdf0e10cSrcweir TestPolyStruct<TestEnum> getNullPolyEnum(); 308cdf0e10cSrcweir TestPolyStruct<TestBadEnum> getNullPolyBadEnum(); 309cdf0e10cSrcweir TestPolyStruct<TestStruct> getNullPolyStruct(); 310cdf0e10cSrcweir TestPolyStruct<XBridgeTestBase> getNullPolyInterface(); 311cdf0e10cSrcweir 312cdf0e10cSrcweir /*** 313cdf0e10cSrcweir * This method returns the parameter value. 314cdf0e10cSrcweir * Method to extensivly test anys. 315cdf0e10cSrcweir ****/ 316cdf0e10cSrcweir any transportAny( [in] any value ); 317cdf0e10cSrcweir 318cdf0e10cSrcweir /*** 319cdf0e10cSrcweir * methods to check sequence of calls. Call call() and callOneway 320cdf0e10cSrcweir * in an arbitrary sequence. Increase the callId for every call. 321cdf0e10cSrcweir * The testobject sets an error flag. 322cdf0e10cSrcweir 323cdf0e10cSrcweir @see testSequencePassed 324cdf0e10cSrcweir ***/ 325cdf0e10cSrcweir void call( [in] long nCallId, [in] long nWaitMUSEC ); 326cdf0e10cSrcweir [oneway] void callOneway( [in] long nCallId, [in] long nWaitMUSEC ); 327cdf0e10cSrcweir boolean sequenceOfCallTestPassed(); 328cdf0e10cSrcweir 329cdf0e10cSrcweir /**** 330cdf0e10cSrcweir * methods to check, if threads thread identity is holded. 331cdf0e10cSrcweir * 332cdf0e10cSrcweir ***/ 333cdf0e10cSrcweir void startRecursiveCall( [in] XRecursiveCall xCall , [in] long nToCall ); 334cdf0e10cSrcweir 335cdf0e10cSrcweir XMulti getMulti(); 336cdf0e10cSrcweir string testMulti([in] XMulti multi); 337cdf0e10cSrcweir}; 338cdf0e10cSrcweir 339cdf0e10cSrcweir 340cdf0e10cSrcweir/** 341cdf0e10cSrcweir * Inherting from monster; adds raiseException(), attribute raising RuntimeException. 342cdf0e10cSrcweir */ 343cdf0e10cSrcweirinterface XBridgeTest : XBridgeTestBase 344cdf0e10cSrcweir{ 345cdf0e10cSrcweir /** 346cdf0e10cSrcweir * the exception struct returned has to be filled with given arguments. 347cdf0e10cSrcweir * return value is for dummy. 348cdf0e10cSrcweir */ 349cdf0e10cSrcweir TestData raiseException( [in] short ArgumentPosition, 350cdf0e10cSrcweir [in] string Message, 351cdf0e10cSrcweir [in] com::sun::star::uno::XInterface Context ) 352cdf0e10cSrcweir raises( com::sun::star::lang::IllegalArgumentException ); 353cdf0e10cSrcweir 354cdf0e10cSrcweir 355cdf0e10cSrcweir /** 356cdf0e10cSrcweir * Throws runtime exception. 357cdf0e10cSrcweir * check remote bridges handle exceptions during oneway calls properly. 358cdf0e10cSrcweir * Note that on client side the execption may fly or not. When it flies, it should 359cdf0e10cSrcweir * have the proper message and context. 360cdf0e10cSrcweir ***/ 361cdf0e10cSrcweir [oneway] void raiseRuntimeExceptionOneway( [in] string Message, 362cdf0e10cSrcweir [in] com::sun::star::uno::XInterface Context ); 363cdf0e10cSrcweir 364cdf0e10cSrcweir /** 365cdf0e10cSrcweir * raises runtime exception; 366cdf0e10cSrcweir * the exception struct returned has to be filled with formerly set test data. 367cdf0e10cSrcweir */ 368cdf0e10cSrcweir [attribute] long RuntimeException; 369cdf0e10cSrcweir}; 370cdf0e10cSrcweir 371cdf0e10cSrcweir 372cdf0e10cSrcweirexception BadConstructorArguments: com::sun::star::uno::Exception {}; 373cdf0e10cSrcweir 374cdf0e10cSrcweirservice Constructors: com::sun::star::uno::XInterface { 375cdf0e10cSrcweir create1( 376cdf0e10cSrcweir [in] boolean arg0, 377cdf0e10cSrcweir [in] byte arg1, 378cdf0e10cSrcweir [in] short arg2, 379cdf0e10cSrcweir [in] unsigned short arg3, 380cdf0e10cSrcweir [in] long arg4, 381cdf0e10cSrcweir [in] unsigned long arg5, 382cdf0e10cSrcweir [in] hyper arg6, 383cdf0e10cSrcweir [in] unsigned hyper arg7, 384cdf0e10cSrcweir [in] float arg8, 385cdf0e10cSrcweir [in] double arg9, 386cdf0e10cSrcweir [in] char arg10, 387cdf0e10cSrcweir [in] string arg11, 388cdf0e10cSrcweir [in] type arg12, 389cdf0e10cSrcweir [in] any arg13, 390cdf0e10cSrcweir [in] sequence< boolean > arg14, 391cdf0e10cSrcweir [in] sequence< byte > arg15, 392cdf0e10cSrcweir [in] sequence< short > arg16, 393cdf0e10cSrcweir [in] sequence< unsigned short > arg17, 394cdf0e10cSrcweir [in] sequence< long > arg18, 395cdf0e10cSrcweir [in] sequence< unsigned long > arg19, 396cdf0e10cSrcweir [in] sequence< hyper > arg20, 397cdf0e10cSrcweir [in] sequence< unsigned hyper > arg21, 398cdf0e10cSrcweir [in] sequence< float > arg22, 399cdf0e10cSrcweir [in] sequence< double > arg23, 400cdf0e10cSrcweir [in] sequence< char > arg24, 401cdf0e10cSrcweir [in] sequence< string > arg25, 402cdf0e10cSrcweir [in] sequence< type > arg26, 403cdf0e10cSrcweir [in] sequence< any > arg27, 404cdf0e10cSrcweir [in] sequence< sequence< boolean > > arg28, 405cdf0e10cSrcweir [in] sequence< sequence< any > > arg29, 406cdf0e10cSrcweir [in] sequence< TestEnum > arg30, 407cdf0e10cSrcweir [in] sequence< TestStruct > arg31, 408cdf0e10cSrcweir [in] sequence< TestPolyStruct< boolean > > arg32, 409cdf0e10cSrcweir [in] sequence< TestPolyStruct< any > > arg33, 410cdf0e10cSrcweir [in] sequence< com::sun::star::uno::XInterface > arg34, 411cdf0e10cSrcweir [in] TestEnum arg35, 412cdf0e10cSrcweir [in] TestStruct arg36, 413cdf0e10cSrcweir [in] TestPolyStruct< boolean > arg37, 414cdf0e10cSrcweir [in] TestPolyStruct< any > arg38, 415cdf0e10cSrcweir [in] com::sun::star::uno::XInterface arg39) 416cdf0e10cSrcweir raises (BadConstructorArguments); 417cdf0e10cSrcweir 418cdf0e10cSrcweir create2([in] any... args) raises (BadConstructorArguments); 419cdf0e10cSrcweir 420cdf0e10cSrcweir}; 421cdf0e10cSrcweir 422cdf0e10cSrcweirservice Constructors2: XMultiBase1 { 423cdf0e10cSrcweir 424cdf0e10cSrcweir create1( 425cdf0e10cSrcweir [in] TestPolyStruct<type> arg1, 426cdf0e10cSrcweir [in] TestPolyStruct<any> arg2, 427cdf0e10cSrcweir [in] TestPolyStruct<boolean> arg3, 428cdf0e10cSrcweir [in] TestPolyStruct<byte> arg4, 429cdf0e10cSrcweir [in] TestPolyStruct<short> arg5, 430cdf0e10cSrcweir [in] TestPolyStruct<long> arg6, 431cdf0e10cSrcweir [in] TestPolyStruct<hyper> arg7, 432cdf0e10cSrcweir [in] TestPolyStruct<char> arg8, 433cdf0e10cSrcweir [in] TestPolyStruct<string> arg9, 434cdf0e10cSrcweir [in] TestPolyStruct<float> arg10, 435cdf0e10cSrcweir [in] TestPolyStruct<double> arg11, 436cdf0e10cSrcweir [in] TestPolyStruct<com::sun::star::uno::XInterface> arg12, 437cdf0e10cSrcweir [in] TestPolyStruct<com::sun::star::lang::XComponent> arg13, 438cdf0e10cSrcweir [in] TestPolyStruct<TestEnum> arg14, 439cdf0e10cSrcweir [in] TestPolyStruct<TestPolyStruct2<char,any> > arg15, 440cdf0e10cSrcweir [in] TestPolyStruct<TestPolyStruct2<TestPolyStruct2<char,any>,string> > arg16, 441cdf0e10cSrcweir [in] TestPolyStruct2<string, TestPolyStruct2<char, TestPolyStruct<any> > > arg17, 442cdf0e10cSrcweir [in] TestPolyStruct2<TestPolyStruct2<char,any>, TestPolyStruct<char> > arg18, 443cdf0e10cSrcweir [in] TestPolyStruct<sequence<type> > arg19, 444cdf0e10cSrcweir [in] TestPolyStruct<sequence<any> > arg20, 445cdf0e10cSrcweir [in] TestPolyStruct<sequence<boolean> > arg21, 446cdf0e10cSrcweir [in] TestPolyStruct<sequence<byte> > arg22, 447cdf0e10cSrcweir [in] TestPolyStruct<sequence<short> > arg23, 448cdf0e10cSrcweir [in] TestPolyStruct<sequence<long> > arg24, 449cdf0e10cSrcweir [in] TestPolyStruct<sequence<hyper> > arg25, 450cdf0e10cSrcweir [in] TestPolyStruct<sequence<char> > arg26, 451cdf0e10cSrcweir [in] TestPolyStruct<sequence<string> > arg27, 452cdf0e10cSrcweir [in] TestPolyStruct<sequence<float> > arg28, 453cdf0e10cSrcweir [in] TestPolyStruct<sequence<double> > arg29, 454cdf0e10cSrcweir [in] TestPolyStruct<sequence<com::sun::star::uno::XInterface> > arg30, 455cdf0e10cSrcweir [in] TestPolyStruct<sequence<com::sun::star::lang::XComponent> > arg31, 456cdf0e10cSrcweir [in] TestPolyStruct<sequence<TestEnum> > arg32, 457cdf0e10cSrcweir [in] TestPolyStruct<sequence<TestPolyStruct2<char, sequence<any> > > > arg33, 458cdf0e10cSrcweir [in] TestPolyStruct<sequence<TestPolyStruct2<TestPolyStruct<char>, sequence<any> > > > arg34, 459cdf0e10cSrcweir [in] TestPolyStruct<sequence<sequence<long> > > arg35, 460cdf0e10cSrcweir [in] sequence<TestPolyStruct<long > > arg36, 461cdf0e10cSrcweir [in] sequence<TestPolyStruct<TestPolyStruct2<char,any> > > arg37, 462cdf0e10cSrcweir [in] sequence<TestPolyStruct<TestPolyStruct2<TestPolyStruct2<char,any>,string> > > arg38, 463cdf0e10cSrcweir [in] sequence<TestPolyStruct2<string, TestPolyStruct2<char, TestPolyStruct<any> > > > arg39, 464cdf0e10cSrcweir [in] sequence<TestPolyStruct2<TestPolyStruct2<char,any>, TestPolyStruct<char> > > arg40, 465cdf0e10cSrcweir [in] sequence<sequence<TestPolyStruct< char > > > arg41, 466cdf0e10cSrcweir [in] sequence<sequence<TestPolyStruct<TestPolyStruct2<char,any> > > >arg42, 467cdf0e10cSrcweir [in] sequence<sequence<TestPolyStruct<TestPolyStruct2<TestPolyStruct2<char,any>,string> > > > arg43, 468cdf0e10cSrcweir [in] sequence<sequence<TestPolyStruct2<string, TestPolyStruct2<char, TestPolyStruct<any> > > > > arg44, 469cdf0e10cSrcweir [in] sequence<sequence<TestPolyStruct2<TestPolyStruct2<char,any>, TestPolyStruct<char> > > > arg45 470cdf0e10cSrcweir ); 471cdf0e10cSrcweir}; 472cdf0e10cSrcweir 473cdf0e10cSrcweirinterface XCurrentContextChecker { 474cdf0e10cSrcweir boolean perform( 475cdf0e10cSrcweir [in] XCurrentContextChecker other, [in] long setSteps, 476cdf0e10cSrcweir [in] long checkSteps); 477cdf0e10cSrcweir}; 478cdf0e10cSrcweir 479cdf0e10cSrcweir/** Extended tests with sequences. 480cdf0e10cSrcweir */ 481cdf0e10cSrcweirinterface XBridgeTest2 : XBridgeTest 482cdf0e10cSrcweir{ 483cdf0e10cSrcweir sequence< boolean > setSequenceBool( [in] sequence< boolean > aSeq); 484cdf0e10cSrcweir sequence< char > setSequenceChar( [in] sequence< char > aSeq); 485cdf0e10cSrcweir sequence< byte> setSequenceByte( [in] sequence< byte > aSeq); 486cdf0e10cSrcweir sequence< short> setSequenceShort( [in] sequence< short > aSeq); 487cdf0e10cSrcweir sequence< unsigned short > setSequenceUShort( [in] sequence< unsigned short > aSeq); 488cdf0e10cSrcweir sequence< long > setSequenceLong( [in] sequence< long > aSeq); 489cdf0e10cSrcweir sequence< unsigned long > setSequenceULong( [in] sequence< unsigned long > aSeq); 490cdf0e10cSrcweir sequence< hyper > setSequenceHyper( [in] sequence< hyper > aSeq); 491cdf0e10cSrcweir sequence< unsigned hyper > setSequenceUHyper( [in] sequence< unsigned hyper > aSeq); 492cdf0e10cSrcweir sequence< float > setSequenceFloat( [in] sequence< float > aSeq); 493cdf0e10cSrcweir sequence< double > setSequenceDouble( [in] sequence< double > aSeq); 494cdf0e10cSrcweir sequence< TestEnum > setSequenceEnum( [in] sequence< TestEnum > aSeq); 495cdf0e10cSrcweir sequence< string > setSequenceString( [in] sequence< string > aString); 496cdf0e10cSrcweir sequence< com::sun::star::uno::XInterface > setSequenceXInterface( 497cdf0e10cSrcweir [in] sequence< com::sun::star::uno::XInterface > aSeq); 498cdf0e10cSrcweir sequence< any > setSequenceAny( [in] sequence< any > aSeq); 499cdf0e10cSrcweir sequence< TestElement > setSequenceStruct( [in] sequence< TestElement > aSeq); 500cdf0e10cSrcweir 501cdf0e10cSrcweir sequence< sequence< long > > setDim2( [in] sequence< sequence< long > > aSeq); 502cdf0e10cSrcweir sequence< sequence < sequence < long > > > setDim3( 503cdf0e10cSrcweir [in] sequence< sequence < sequence < long > > > aSeq); 504cdf0e10cSrcweir 505cdf0e10cSrcweir void setSequencesInOut( [inout] sequence< boolean > aSeqBoolean, 506cdf0e10cSrcweir [inout] sequence< char > aSeqChar, 507cdf0e10cSrcweir [inout] sequence< byte > aSeqByte, 508cdf0e10cSrcweir [inout] sequence< short > aSeqShort, 509cdf0e10cSrcweir [inout] sequence< unsigned short> aSeqUShort, 510cdf0e10cSrcweir [inout] sequence< long > aSeqLong, 511cdf0e10cSrcweir [inout] sequence< unsigned long > aSeqULong, 512cdf0e10cSrcweir [inout] sequence< hyper > aSeqHyper, 513cdf0e10cSrcweir [inout] sequence< unsigned hyper > aSeqUHyper, 514cdf0e10cSrcweir [inout] sequence< float > aSeqFloat, 515cdf0e10cSrcweir [inout] sequence< double > aSeqDouble, 516cdf0e10cSrcweir [inout] sequence< TestEnum > aSeqEnum, 517cdf0e10cSrcweir [inout] sequence< string > aSeqString, 518cdf0e10cSrcweir [inout] sequence< com::sun::star::uno::XInterface > aSeqXInterface, 519cdf0e10cSrcweir [inout] sequence< any > aSeqAny, 520cdf0e10cSrcweir [inout] sequence< sequence< long > > aSeqDim2, 521cdf0e10cSrcweir [inout] sequence< sequence < sequence < long > > > aSeqDim3); 522cdf0e10cSrcweir 523cdf0e10cSrcweir void setSequencesOut( [out] sequence< boolean > aSeqBoolean, 524cdf0e10cSrcweir [out] sequence< char > aSeqChar, 525cdf0e10cSrcweir [out] sequence< byte > aSeqByte, 526cdf0e10cSrcweir [out] sequence< short > aSeqShort, 527cdf0e10cSrcweir [out] sequence< unsigned short> aSeqUShort, 528cdf0e10cSrcweir [out] sequence< long > aSeqLong, 529cdf0e10cSrcweir [out] sequence< unsigned long > aSeqULong, 530cdf0e10cSrcweir [out] sequence< hyper > aSeqHyper, 531cdf0e10cSrcweir [out] sequence< unsigned hyper > aSeqUHyper, 532cdf0e10cSrcweir [out] sequence< float > aSeqFloat, 533cdf0e10cSrcweir [out] sequence< double > aSeqDouble, 534cdf0e10cSrcweir [out] sequence< TestEnum > aSeqEnum, 535cdf0e10cSrcweir [out] sequence< string > aSeqString, 536cdf0e10cSrcweir [out] sequence< com::sun::star::uno::XInterface > aSeqXInterface, 537cdf0e10cSrcweir [out] sequence< any > aSeqAny, 538cdf0e10cSrcweir [out] sequence< sequence< long > > aSeqDim2, 539cdf0e10cSrcweir [out] sequence< sequence < sequence < long > > > aSeqDim3); 540cdf0e10cSrcweir 541cdf0e10cSrcweir void testConstructorsService( 542cdf0e10cSrcweir [in] com::sun::star::uno::XComponentContext context) 543cdf0e10cSrcweir raises (BadConstructorArguments); 544cdf0e10cSrcweir 545cdf0e10cSrcweir XCurrentContextChecker getCurrentContextChecker(); 546cdf0e10cSrcweir}; 547cdf0e10cSrcweir 548cdf0e10cSrcweir}; }; }; 549