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#include <com/sun/star/uno/XInterface.idl> 28 29module ModuleA 30{ 31 exception ExceptionA 32 { 33 boolean aBoolean; 34 }; 35 36 struct StructA 37 { 38 long aLong; 39 short aShort; 40 }; 41 42 struct StructB : StructA 43 { 44 double aDouble; 45 float aFloat; 46 }; 47 48 struct StructC : StructB 49 { 50 string aString; 51 sequence<com::sun::star::uno::XInterface> aInterfaceSeq; 52 }; 53 54 exception ExceptionB : ExceptionA 55 { 56 StructC aStructC; 57 }; 58 59 interface XInterface1 : com::sun::star::uno::XInterface 60 { 61 }; 62 63 exception ExceptionC : ExceptionB 64 { 65 XInterface1 aInterface1; 66 }; 67 68 module ModuleB 69 { 70 enum EnumA { VAL_1, VAL_2, VAL_3 = 17}; 71 }; 72 73}; 74 75module ModuleC 76{ 77 const boolean aConstBoolean = True; 78 const byte aConstByte = 0; 79 const short aConstShort = -1; 80 const unsigned short aConstUShort = 1; 81 const long aConstLong = -2; 82 const unsigned long aConstULong = 2; 83// const hyper aConstHyper = -3; 84// const unsigned hyper aConstUHyper = 3; 85 const float aConstFloat = 3.14; 86 const double aConstDouble = 3.14e-10; 87 88 89 interface XInterfaceA : com::sun::star::uno::XInterface 90 { 91 void methodA(); 92 [oneway] void methodB([in] short aShort); 93 sequence<ModuleA::StructB> methodC([in] ModuleA::StructC aStructC, [inout] ModuleA::StructA aStructA); 94 }; 95 96 interface XInterfaceB : XInterfaceA 97 { 98 [attribute] string aString; 99 100 XInterfaceA methodD([in] ModuleA::ModuleB::EnumA aEnumA) raises (ModuleA::ExceptionA, ModuleA::ExceptionB, ModuleA::ExceptionC); 101 }; 102}; 103