00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file ServerObject_i.h 00006 * 00007 * $Id: ServerObject_i.h 76995 2007-02-11 12:51:42Z johnnyw $ 00008 * 00009 * @author Darrell Brunsch 00010 * @author Irfan Pyarali 00011 */ 00012 // =================================================================== 00013 00014 #ifndef TAO_SERVEROBJECT_I_H 00015 #define TAO_SERVEROBJECT_I_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "tao/ORB.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "tao/ImR_Client/ServerObjectS.h" 00026 #include "tao/ImR_Client/imr_client_export.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 /** 00031 * @class ServerObject_i 00032 * 00033 * @brief Class for pinging a server. Implementation Repository uses 00034 * this to communicate with the IMR registered servers. 00035 * 00036 * \nosubgrouping 00037 * 00038 **/ 00039 class TAO_IMR_Client_Export ServerObject_i 00040 : public POA_ImplementationRepository::ServerObject 00041 { 00042 public: 00043 /// Constructor. 00044 ServerObject_i (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa); 00045 00046 /// Ping method. 00047 void ping (void); 00048 00049 /// Shutdown the server. 00050 void shutdown (void); 00051 00052 /// Returns the default POA for this servant. 00053 PortableServer::POA_ptr _default_POA (void); 00054 00055 protected: 00056 /// Our ORB. We need this member in case we need to shutdown the 00057 /// server. 00058 CORBA::ORB_var orb_; 00059 00060 /// POA that we are registered with. 00061 PortableServer::POA_var poa_; 00062 }; 00063 00064 TAO_END_VERSIONED_NAMESPACE_DECL 00065 00066 #include /**/ "ace/post.h" 00067 00068 #endif /* TAO_SERVEROBJECT_I_H */