diff options
author | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1996-10-21 21:41:34 +0000 |
---|---|---|
committer | levine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1996-10-21 21:41:34 +0000 |
commit | a5fdebc5f6375078ec1763850a4ca23ec7fe6458 (patch) | |
tree | bcf0a25c3d45a209a6e3ac37b233a4812f29c732 /ace/Name_Proxy.h | |
download | ATCD-a5fdebc5f6375078ec1763850a4ca23ec7fe6458.tar.gz |
Initial revision
Diffstat (limited to 'ace/Name_Proxy.h')
-rw-r--r-- | ace/Name_Proxy.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/ace/Name_Proxy.h b/ace/Name_Proxy.h new file mode 100644 index 00000000000..f99fff09d9d --- /dev/null +++ b/ace/Name_Proxy.h @@ -0,0 +1,82 @@ +/* -*- C++ -*- */ +// $Id$ + + +// ============================================================================ +// +// = LIBRARY +// ACE +// +// = FILENAME +// ACE_Name_Proxy.h +// +// = DESCRIPTION +// Proxy for dealing with remote server process managing NET_LOCAL +// Name_Bindings. +// +// = AUTHOR +// Gerhard Lenzer, Douglas C. Schmidt, and Prashant Jain +// +// ============================================================================ + +#if !defined (ACE_NAME_PROXY_H) +#define ACE_NAME_PROXY_H + +#include "ace/INET_Addr.h" +#include "ace/SOCK_Connector.h" +#include "ace/SOCK_Stream.h" +#include "ace/Service_Config.h" +#include "ace/Synch_Options.h" +#include "ace/Name_Request_Reply.h" + +class ACE_Export ACE_Name_Proxy : public ACE_Event_Handler + // = TITLE + // Proxy for dealing with remote server process managing NET_LOCAL NameBindings + // + // = DESCRIPTION + // Shields applications from details of interacting with the ACE_Name Server. +{ +public: + ACE_Name_Proxy (void); + // Default constructor. + + // = Establish a binding with the ACE_Name Server. + ACE_Name_Proxy (const ACE_INET_Addr &remote_addr, // Address of ACE_Name Server. + ACE_Synch_Options& options = + ACE_Synch_Options::defaults); + + int open (const ACE_INET_Addr &remote_addr, // Address of ACE_Name Server. + ACE_Synch_Options& options = + ACE_Synch_Options::defaults); + + int request_reply (ACE_Name_Request &request); + // Perform the request and wait for the reply. + + int send_request (ACE_Name_Request &request); + // Perform the request. + + int recv_reply (ACE_Name_Request &reply); + // Receive the reply. + + virtual ACE_HANDLE get_handle (void) const; + // Obtain underlying handle. + + virtual ~ACE_Name_Proxy (void); + // Close down the connection to the server. + + void dump (void) const; + // Dump the state of the object; + +private: + + ACE_SOCK_Connector connector_; + // ACE_Connector factory used to establish connections actively. + + ACE_SOCK_Stream peer_; + // Connection to ACE_Name Server peer. + + ACE_Reactor *reactor_; + // Pointer to ACE_Reactor (used if we are run in "reactive-mode"). +}; + +#endif /* ACE_NAME_PROXY_H */ |