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

xmltest_dep2.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_DEP2_IDL_
00024 #define _XMLTEST_DEP2_IDL_
00025 
00026 #include <acscommon.idl>
00027 #include <acscomponent.idl>
00028 #include <fakexmlentity.idl>
00029 
00030 #pragma prefix "alma"
00031 
00035 module xmltest_dep2
00036 {
00037         typedef fakexmlentity::XmlEntityStruct ObsProposal;
00038 
00040         // Cyclic interface dependency among three offshoots.
00041         // *** This is not working yet! It is not a scenario likely ever to be used in practice, 
00042         // *** but it would still be nice to fix it.
00044 
00045         interface CyclicOffshoot3;
00046         
00047         // here we don't even get "CyclicOffshoot1J" generated
00048         interface CyclicOffshoot1 : ACS::OffShoot
00049         {
00050                 void takeThatOff(in CyclicOffshoot3 off3);
00051         };
00052         
00053         // This is the offshoot that brings in XML to the cycle.
00054         // Class "CyclicOffshoot2WithXmlJ" gets generated as expected, 
00055         // but it consequently uses "CyclicOffshoot1" instead of "CyclicOffshoot1J" as parameter.
00056         interface CyclicOffshoot2WithXml : ACS::OffShoot
00057         {
00058                 void takeThatOff(in CyclicOffshoot1 off1);
00059                 ObsProposal getObsProposal();
00060         };
00061         
00062         // All fine: "CyclicOffshoot3J" gets generated and uses "CyclicOffshoot2WithXmlJ".
00063         interface CyclicOffshoot3 : ACS::OffShoot
00064         {
00065                 void takeThatOff(in CyclicOffshoot2WithXml off2);
00066         };
00067         
00068 };
00069 
00070 #endif

Generated on Fri Apr 15 2016 15:13:14 for ACS-2016.4 IDL interfaces by  doxygen 1.7.0