Go to the documentation of this file.00001 #ifndef maciTestClientImpl_h
00002 #define maciTestClientImpl_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
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
00029 class MaciTestClientImpl : public virtual POA_maci::Client
00030 {
00031 public:
00032
00033 MaciTestClientImpl (ACE_CString name, maci::Manager_ptr mgr, int onPing);
00034
00035
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
00074 class MaciTestContainerImpl :
00075 public virtual POA_maci::Container,
00076 public virtual MaciTestClientImpl
00077 {
00078 public:
00079
00080 MaciTestContainerImpl (ACE_CString name, maci::Manager_ptr mgr,
00081 PortableServer::POA_ptr poa, int onPing, int onActivate,
00082 bool haveRecovery);
00083
00084
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
00139 class MaciTestAdministratorImpl :
00140 public virtual POA_maci::Administrator,
00141 public virtual MaciTestClientImpl
00142 {
00143 public:
00144
00145 MaciTestAdministratorImpl (ACE_CString name, maci::Manager_ptr mgr, int onPing);
00146
00147
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
00229
00230
00231