• Classes
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

XmlComponent.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 #ifndef _XMLCOMPONENT_IDL_
00023 #define _XMLCOMPONENT_IDL_
00024 
00025 #include <xmlentity.idl> 
00026 #include <acscomponent.idl>
00027 #include <JContExmplErrTypeTest.idl>
00028 
00029 #pragma prefix "alma"
00030 
00031 module demo
00032 {
00033         //typedef xmlentity::XmlEntityStruct ObsProject;
00034         typedef xmlentity::XmlEntityStruct ObsProposal;
00035         typedef xmlentity::XmlEntityStruct SchedBlock;
00036         typedef sequence <SchedBlock> SchedBlockSeq;
00037 
00038 
00039         struct ObsProjectTree
00040         {
00041                 //ObsProject proj;
00042                 ObsProposal prop;
00043                 SchedBlockSeq schedBlocks;
00044         };
00045 
00046 
00047         // a more complicated component that accesses another Java component 
00048         // and needs xml binding class support
00049         interface XmlComponent : ACS::ACSComponent
00050         {
00051                 long dumbMethod(in string somevalue); 
00052                 
00053                 ObsProposal createObsProposal();
00054                 
00055                 SchedBlock getBestSchedBlock();
00056                 
00057                 SchedBlockSeq getAllSchedBlocks();
00058 
00059                 void addNewSchedBlocks(in SchedBlockSeq newSchedBlocks);
00060 
00061                 void xmlInOutMethod(in ObsProposal opsPropIn, 
00062                                         out SchedBlock schedBlockOut);
00063                                 
00064                 ObsProjectTree getEntireTreeInAStruct();
00065                 
00066                 // is supposed to contact HelloComponent
00067                 string sayHello();
00068                 
00069                 // will throw an XmlComponentErrorEx (declared in JContExmplErrTypeTest.xml/.idl)
00070                 void exceptionMethod() raises (JContExmplErrTypeTest::XmlComponentErrorEx);
00071         };
00072 };
00073 
00074 #endif

Generated on Thu Jul 8 2010 19:46:40 for ACS-9.0 IDL interfaces by  doxygen 1.7.0