00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef SERVER_INFO_H
00014 #define SERVER_INFO_H
00015
00016 #include "ace/Bound_Ptr.h"
00017
00018 #include "tao/ImR_Client/ImplRepoC.h"
00019
00020 #include "ace/SString.h"
00021
00022 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00023 # pragma once
00024 #endif
00025
00026
00027
00028
00029 struct Server_Info
00030 {
00031 Server_Info (const ACE_CString& server_name,
00032 const ACE_CString& aname,
00033 const ACE_CString& cmdline,
00034 const ImplementationRepository::EnvironmentList& env,
00035 const ACE_CString& working_dir,
00036 ImplementationRepository::ActivationMode amode,
00037 int start_limit,
00038 const ACE_CString& partial_ior = ACE_CString(""),
00039 const ACE_CString& server_ior = ACE_CString(""),
00040 ImplementationRepository::ServerObject_ptr svrobj = ImplementationRepository::ServerObject::_nil()
00041 );
00042
00043
00044 ImplementationRepository::ServerInformation* createImRServerInfo(ACE_ENV_SINGLE_ARG_DECL);
00045
00046 void reset();
00047
00048
00049 ACE_CString name;
00050
00051 ACE_CString activator;
00052
00053 ACE_CString cmdline;
00054
00055 ImplementationRepository::EnvironmentList env_vars;
00056
00057 ACE_CString dir;
00058
00059 ImplementationRepository::ActivationMode activation_mode;
00060
00061 int start_limit;
00062
00063 ACE_CString partial_ior;
00064
00065 ACE_CString ior;
00066
00067 ACE_Time_Value last_ping;
00068
00069 ImplementationRepository::ServerObject_var server;
00070 int start_count;
00071 int waiting_clients;
00072 bool starting;
00073 };
00074
00075 typedef ACE_Strong_Bound_Ptr<Server_Info, ACE_Null_Mutex> Server_Info_Ptr;
00076
00077 #endif