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

maciTestClientImpl.h

Go to the documentation of this file.
00001 #ifndef maciTestClientImpl_h 00002 #define maciTestClientImpl_h 00003 00004 /******************************************************************************* 00005 * E.S.O. - ACS project 00006 * 00007 * "@(#) $Id: maciTestClientImpl.h,v 1.86 2008/10/01 02:40:28 cparedes Exp $" 00008 * 00009 * who when what 00010 * -------- -------- ---------------------------------------------- 00011 * kzagar 2002-02-15 Created 00012 */ 00013 00014 /************************************************************************ 00015 * 00016 *---------------------------------------------------------------------- 00017 */ 00018 00019 00020 #ifndef __cplusplus 00021 #error This is a C++ include file and cannot be used from plain C 00022 #endif 00023 00024 00025 #include <maciS.h> 00026 #include <SString.h> 00027 00028 //Class MaciTestClientImpl 00029 class MaciTestClientImpl : public virtual POA_maci::Client 00030 { 00031 public: 00032 //Constructor 00033 MaciTestClientImpl (ACE_CString name, maci::Manager_ptr mgr, int onPing); 00034 00035 //Destructor 00036 virtual ~MaciTestClientImpl (void); 00037 00038 void setHandle(maci::Handle h) { m_handle = h; }; 00039 00040 virtual char * name (); 00041 00042 virtual void disconnect (); 00043 00044 virtual maci::AuthenticationData * authenticate ( 00045 maci::ExecutionId execution_id, 00046 const char * question); 00047 00048 virtual void message ( 00049 CORBA::Short type, 00050 const char * message 00051 ); 00052 00053 virtual void taggedmessage ( 00054 CORBA::Short type, 00055 CORBA::Short tag, 00056 const char * message 00057 ); 00058 00059 virtual CORBA::Boolean ping (); 00060 00061 virtual void components_available ( 00062 const maci::ComponentInfoSeq & cobs); 00063 00064 virtual void components_unavailable ( 00065 const maci::stringSeq & cob_names); 00066 protected: 00067 ACE_CString m_name; 00068 maci::Manager_ptr m_manager; 00069 maci::Handle m_handle; 00070 int m_onPing; 00071 }; 00072 00073 //Class MaciTestContainerImpl 00074 class MaciTestContainerImpl : 00075 public virtual POA_maci::Container, 00076 public virtual MaciTestClientImpl 00077 { 00078 public: 00079 //Constructor 00080 MaciTestContainerImpl (ACE_CString name, maci::Manager_ptr mgr, 00081 PortableServer::POA_ptr poa, int onPing, int onActivate, 00082 bool haveRecovery); 00083 00084 //Destructor 00085 virtual ~MaciTestContainerImpl (void); 00086 00087 virtual maci::ComponentInfo * activate_component ( 00088 maci::Handle h, 00089 maci::ExecutionId execution_id, 00090 const char * name, 00091 const char * exe, 00092 const char * type 00093 ); 00094 00095 virtual void deactivate_components ( 00096 const maci::HandleSeq & h 00097 ); 00098 00099 virtual void shutdown ( 00100 CORBA::ULong action 00101 ); 00102 00103 virtual maci::ComponentInfoSeq * get_component_info ( 00104 const maci::HandleSeq & h 00105 ); 00106 00107 virtual char * name (); 00108 00109 virtual void disconnect (); 00110 00111 virtual maci::AuthenticationData * authenticate ( 00112 maci::ExecutionId execution_id, 00113 const char * question 00114 ); 00115 00116 virtual void message ( 00117 CORBA::Short type, 00118 const char * message 00119 ); 00120 00121 virtual CORBA::Boolean ping ( 00122 ); 00123 00124 virtual void components_available ( 00125 const maci::ComponentInfoSeq & cobs 00126 ); 00127 00128 virtual void components_unavailable ( 00129 const maci::stringSeq & cob_names 00130 ); 00131 00132 protected: 00133 int m_onActivate; 00134 PortableServer::POA_ptr m_poa; 00135 bool m_haveRecovery; 00136 }; 00137 00138 //Class MaciTestAdministratorImpl 00139 class MaciTestAdministratorImpl : 00140 public virtual POA_maci::Administrator, 00141 public virtual MaciTestClientImpl 00142 { 00143 public: 00144 //Constructor 00145 MaciTestAdministratorImpl (ACE_CString name, maci::Manager_ptr mgr, int onPing); 00146 00147 //Destructor 00148 virtual ~MaciTestAdministratorImpl (void); 00149 00150 virtual void client_logged_in ( 00151 const maci::ClientInfo & info, 00152 ACS::Time timestamp, 00153 maci::ExecutionId execution_id 00154 ); 00155 00156 virtual void client_logged_out ( 00157 maci::Handle h, 00158 ACS::Time timestamp 00159 ); 00160 00161 virtual void container_logged_in ( 00162 const maci::ContainerInfo & info, 00163 ACS::Time timestamp, 00164 maci::ExecutionId execution_id 00165 ); 00166 00167 virtual void container_logged_out ( 00168 maci::Handle h, 00169 ACS::Time timestamp 00170 ); 00171 00172 virtual void components_requested ( 00173 const maci::HandleSeq & clients, 00174 const maci::HandleSeq & COBs, 00175 ACS::Time timestamp 00176 ); 00177 00178 virtual void components_released ( 00179 const maci::HandleSeq & clients, 00180 const maci::HandleSeq & COBs, 00181 ACS::Time timestamp 00182 ); 00183 00184 virtual void component_activated ( 00185 const maci::ComponentInfo & info, 00186 ACS::Time timestamp, 00187 maci::ExecutionId execution_id 00188 ); 00189 00190 virtual void component_deactivated ( 00191 maci::Handle h, 00192 ACS::Time timestamp 00193 ); 00194 00195 virtual char * name (); 00196 00197 virtual void disconnect (); 00198 00199 virtual maci::AuthenticationData * authenticate ( 00200 maci::ExecutionId execution_id, 00201 const char * question 00202 ); 00203 00204 virtual void message ( 00205 CORBA::Short type, 00206 const char * message 00207 ); 00208 00209 virtual void taggedmessage ( 00210 CORBA::Short type, 00211 CORBA::Short tag, 00212 const char * message 00213 ); 00214 00215 virtual CORBA::Boolean ping ( 00216 ); 00217 00218 virtual void components_available ( 00219 const maci::ComponentInfoSeq & cobs 00220 ); 00221 00222 virtual void components_unavailable ( 00223 const maci::stringSeq & cob_names 00224 ); 00225 00226 }; 00227 00228 #endif /* maciTestClientImpl_h */ 00229 00230 00231

Generated on Thu Apr 30 02:30:52 2009 for ACS C++ API by doxygen 1.3.8