00001 /*************************************************************************** 00002 tag: Peter Soetens Mon Jun 26 13:25:58 CEST 2006 AttributesI.h 00003 00004 AttributesI.h - description 00005 ------------------- 00006 begin : Mon June 26 2006 00007 copyright : (C) 2006 Peter Soetens 00008 email : peter.soetens@fmtc.be 00009 00010 *************************************************************************** 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU General Public * 00013 * License as published by the Free Software Foundation; * 00014 * version 2 of the License. * 00015 * * 00016 * As a special exception, you may use this file as part of a free * 00017 * software library without restriction. Specifically, if other files * 00018 * instantiate templates or use macros or inline functions from this * 00019 * file, or you compile this file and link it with other files to * 00020 * produce an executable, this file does not by itself cause the * 00021 * resulting executable to be covered by the GNU General Public * 00022 * License. This exception does not however invalidate any other * 00023 * reasons why the executable file might be covered by the GNU General * 00024 * Public License. * 00025 * * 00026 * This library is distributed in the hope that it will be useful, * 00027 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00028 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00029 * Lesser General Public License for more details. * 00030 * * 00031 * You should have received a copy of the GNU General Public * 00032 * License along with this library; if not, write to the Free Software * 00033 * Foundation, Inc., 59 Temple Place, * 00034 * Suite 330, Boston, MA 02111-1307 USA * 00035 * * 00036 ***************************************************************************/ 00037 00038 00039 // -*- C++ -*- 00040 // 00041 // $Id$ 00042 00043 // **** Code generated by the The ACE ORB (TAO) IDL Compiler **** 00044 // TAO and the TAO IDL Compiler have been developed by: 00045 // Center for Distributed Object Computing 00046 // Washington University 00047 // St. Louis, MO 00048 // USA 00049 // http://www.cs.wustl.edu/~schmidt/doc-center.html 00050 // and 00051 // Distributed Object Computing Laboratory 00052 // University of California at Irvine 00053 // Irvine, CA 00054 // USA 00055 // http://doc.ece.uci.edu/ 00056 // and 00057 // Institute for Software Integrated Systems 00058 // Vanderbilt University 00059 // Nashville, TN 00060 // USA 00061 // http://www.isis.vanderbilt.edu/ 00062 // 00063 // Information about TAO is available at: 00064 // http://www.cs.wustl.edu/~schmidt/TAO.html 00065 00066 // TAO_IDL - Generated from 00067 // be/be_codegen.cpp:844 00068 00069 #ifndef ATTRIBUTESI_H_ 00070 #define ATTRIBUTESI_H_ 00071 00072 #include "../rtt-config.h" 00073 #include "corba.h" 00074 00075 #ifdef CORBA_IS_TAO 00076 #include "AttributesS.h" 00077 #else 00078 #include "AttributesC.h" 00079 #endif 00080 00081 #include "../AttributeRepository.hpp" 00082 #include "../PropertyBag.hpp" 00083 00084 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00085 #pragma once 00086 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00087 00088 class Orocos_AttributeInterface_i : public virtual POA_RTT::Corba::AttributeInterface, public virtual PortableServer::RefCountServantBase 00089 { 00090 RTT::AttributeRepository* mar; 00091 RTT::PropertyBag* mbag; 00092 PortableServer::POA_var mpoa; 00093 public: 00094 //Constructor 00095 Orocos_AttributeInterface_i ( RTT::AttributeRepository* ar, PortableServer::POA_ptr the_poa); 00096 Orocos_AttributeInterface_i ( RTT::PropertyBag* bag, PortableServer::POA_ptr the_poa ); 00097 00098 //Destructor 00099 virtual ~Orocos_AttributeInterface_i (void); 00100 00101 PortableServer::POA_ptr _default_POA() 00102 { 00103 return PortableServer::POA::_duplicate(mpoa); 00104 } 00105 00106 virtual 00107 ::RTT::Corba::AttributeInterface::AttributeNames * getAttributeList ( 00108 00109 ) 00110 ACE_THROW_SPEC (( 00111 CORBA::SystemException 00112 )); 00113 00114 virtual 00115 ::RTT::Corba::AttributeInterface::PropertyNames * getPropertyList ( 00116 00117 ) 00118 ACE_THROW_SPEC (( 00119 CORBA::SystemException 00120 )); 00121 00122 virtual 00123 ::RTT::Corba::Expression_ptr getAttribute ( 00124 const char * name 00125 ) 00126 ACE_THROW_SPEC (( 00127 CORBA::SystemException 00128 )); 00129 00130 virtual 00131 ::RTT::Corba::Expression_ptr getProperty ( 00132 const char * name 00133 ) 00134 ACE_THROW_SPEC (( 00135 CORBA::SystemException 00136 )); 00137 }; 00138 00139 00140 #endif /* ATTRIBUTESI_H_ */ 00141