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