Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

xmltest.idl

Go to the documentation of this file.
00001 /* 00002 * ALMA - Atacama Large Millimiter Array 00003 * (c) European Southern Observatory, 2002 00004 * Copyright by ESO (in the framework of the ALMA collaboration), 00005 * All rights reserved 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 00020 * MA 02111-1307 USA 00021 */ 00022 00023 #ifndef _XMLTEST_IDL_ 00024 #define _XMLTEST_IDL_ 00025 00026 #include <acscomponent.idl> 00027 00028 #pragma prefix "alma" 00029 00030 00031 module xmltest 00032 { 00033 00034 00035 /********************************************************* 00036 * XmlEntityStruct is defined in the module 00037 * ACS/CommonSoftware/define, file xmlentity.idl, 00038 * which we can't include here because of module built order. 00039 * 00040 * For testing this module, it does not matter that we simply define 00041 * the struct below instead of #including xmlentity.idl. 00042 * Currently even the content of XmlEntityStruct does not matter, 00043 * it just has to exist as a struct. 00044 *********************************************************/ 00045 00046 struct XmlEntityStruct 00047 { 00048 string xmlString; // works only for Latin-1 characters; otherwise use wstring! 00049 // string entityId; // unique ID, same as inside the xml, but easier to access 00050 // string entityTypeName; // unique name like "SchedBlock" (should be the schema name w/o ".xsd") 00051 // string schemaVersion; // the schema version that the entity complies with 00052 }; 00053 00054 00055 /********************************************************* 00056 * typedefs for our entity objects 00057 *********************************************************/ 00058 00059 typedef XmlEntityStruct ObsProposal; 00060 typedef XmlEntityStruct SchedBlock; 00061 00062 typedef sequence <SchedBlock> SchedBlockSeq; 00063 00064 typedef SchedBlockSeq EvenMoreHiddenEntityClass; 00065 00066 /********************************************************* 00067 * example component 00068 *********************************************************/ 00069 00070 interface NonXMLAcsComponent : ACS::ACSComponent 00071 { 00072 string sayHello(); 00073 }; 00074 00075 interface NonXMLIndirectAcsComponent : NonXMLAcsComponent 00076 { 00077 }; 00078 00079 interface XMLAcsComponent : ACS::ACSComponent 00080 { 00081 string sayHello(); 00082 ObsProposal createObsProposal(); 00083 }; 00084 00085 interface XMLNonAcsComponent 00086 { 00087 string sayHello(); 00088 ObsProposal createObsProposal(); 00089 }; 00090 00091 00092 struct ObsProjectTree 00093 { 00094 ObsProposal prop; 00095 SchedBlockSeq schedBlocks; 00096 }; 00097 00098 interface MyBaseInterface; 00099 00100 interface ReturnInterface : ACS::ACSComponent 00101 { 00102 ObsProposal createObsProposal(); 00103 MyBaseInterface createBaseInterface(in long pippo); 00104 }; 00105 00106 interface MyBaseInterface 00107 { 00108 attribute float radius; 00109 void someDumbMethod(in string stupidArg); 00110 }; 00111 00112 00113 interface IFWithIndirectEntityUsage : ACS::ACSComponent 00114 { 00115 SchedBlockSeq methodWithEntitySequence(); 00116 00117 void methodWithHiddenEntitySequence(out EvenMoreHiddenEntityClass outThing); 00118 }; 00119 00120 00121 00122 /* 00123 interface TransportTester : MyBaseInterface 00124 { 00125 typedef XmlEntityStruct ObsProject; 00126 00127 struct StructWithEntityInsideInterface 00128 { 00129 long someNumber; 00130 ObsProposal hiddenProposal; 00131 }; 00132 00133 exception prebenex {long acs_ex_id_thingy;}; 00134 00135 00136 00137 readonly attribute ObsProject attrProject; 00138 00139 void outObsProject(out ObsProject outProject); 00140 00141 SchedBlock modifySchedBlock(in SchedBlock inSchedBlock); 00142 00143 ObsProposal createObsProposal(in SchedBlock inSchedBlock, inout long dummy, out StructWithEntityInsideInterface innerStruct); 00144 00145 void seqMethod(in SchedBlockSeq oldSchedBlockSeq, out SchedBlockSeq newSchedBlockSeq); 00146 00147 ReturnInterface createReturnInterface(); 00148 00149 void someOtherNonXmlMethod() raises(prebenex); 00150 }; 00151 00152 00153 */ 00154 00155 }; 00156 00157 #endif

Generated on Thu Apr 30 02:26:27 2009 for ACS IDL interfaces by doxygen 1.3.8