• 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 <acscommon.idl>
00027 #include <acscomponent.idl>
00028 #include <JContExmplErrTypeTest.idl>
00029 
00030 #pragma prefix "alma"
00031 
00032 module demo
00033 {
00034         //typedef xmlentity::XmlEntityStruct ObsProject;
00035         typedef xmlentity::XmlEntityStruct ObsProposal;
00036         typedef xmlentity::XmlEntityStruct SchedBlock;
00037         typedef sequence <SchedBlock> SchedBlockSeq;
00038 
00039 
00040         struct ObsProjectTree
00041         {
00042                 //ObsProject proj;
00043                 ObsProposal prop;
00044                 SchedBlockSeq schedBlocks;
00045         };
00046 
00047 
00048         // simple offshoot which should only store
00049         // one sinlge proposal and one single sched block
00050         interface XmlOffshoot : ACS::OffShoot {
00051 
00052                 void setObsProposal(in ObsProposal obsPropIn);
00053 
00054                 void setSchedBlock(in SchedBlock schedBlockIn);
00055 
00056                 SchedBlock getSchedBlock();
00057 
00058                 ObsProposal getObsProposal();
00059 
00060         };
00061 
00062         // a simple component that uses Xml Offshoots
00063         interface ComponentWithXmlOffshoot : ACS::ACSComponent {
00064                 XmlOffshoot getOffshoot();
00065                 void deactivateOffshoot();
00066         };
00067 
00068         // a more complicated component that accesses another Java component
00069         // and needs xml binding class support
00070         interface XmlComponent : ACS::ACSComponent
00071         {
00072                 long dumbMethod(in string somevalue);
00073 
00074                 ObsProposal createObsProposal();
00075 
00076                 SchedBlock getBestSchedBlock();
00077 
00078                 SchedBlockSeq getAllSchedBlocks();
00079 
00080                 void addNewSchedBlocks(in SchedBlockSeq newSchedBlocks);
00081 
00082                 void xmlInOutMethod(in ObsProposal opsPropIn,
00083                                         out SchedBlock schedBlockOut);
00084 
00085                 ObsProjectTree getEntireTreeInAStruct();
00086 
00087                 // is supposed to contact HelloComponent
00088                 string sayHello();
00089 
00090                 XmlOffshoot getOffshoot();
00091 
00092                 void deactivateOffshoot();
00093 
00094                 void activateOffshoot();
00095 
00096                 // will throw an XmlComponentErrorEx (declared in JContExmplErrTypeTest.xml/.idl)
00097                 void exceptionMethod() raises (JContExmplErrTypeTest::XmlComponentErrorEx);
00098         };
00099 
00100 };
00101 
00102 #endif

Generated on Thu Jan 12 2012 23:13:14 for ACS-10.0 IDL interfaces by  doxygen 1.7.0