diff options
Diffstat (limited to 'ACE/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h')
-rw-r--r-- | ACE/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/ACE/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h b/ACE/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h new file mode 100644 index 00000000000..41d74115930 --- /dev/null +++ b/ACE/netsvcs/clients/Naming/Dump_Restore/Dump_Restore.h @@ -0,0 +1,85 @@ +// -*- C++ -*- +// +// $Id$ + +#include "ace/Event_Handler.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Reactor.h" +#include "ace/Naming_Context.h" + +class Dump_Restore : public ACE_Event_Handler +{ +public: + enum Operation_Type + { + BIND, + UNBIND, + REBIND + }; + Dump_Restore (int argc, ACE_TCHAR *argv[]); + // Initialize name options and naming context + + ~Dump_Restore (void); + + virtual int handle_input (ACE_HANDLE handle); + // Handle user entered commands + + void dump (void); + +private: + ACE_TCHAR hostname_[MAXHOSTNAMELEN + 1]; + // Cache the hostname and port number for remote case + + void display_menu (void); + // Display user menu. + + int set_proc_local (void); + // Set options to use PROC_LOCAL naming context. + + int set_node_local (void); + // Set options to use NODE_LOCAL naming context. + + int set_host (const ACE_TCHAR *hostname, + int port); + // Set options to use NET_LOCAL naming context specifying host name + // and port number. + + int quit (void); + // Gracefully exit. + + int populate (Dump_Restore::Operation_Type op); + + int doit (Dump_Restore::Operation_Type op, + const char *name, + const char *value, + const char *type = ""); + int bind (const char *key, + const char *value, + const char *type = ""); + int unbind (const char *key); + int rebind (const char *key, + const char *value, + const char *type = ""); + + char filename_[MAXPATHLEN + 1]; + char dump_filename_[MAXPATHLEN + 1]; + + u_short port_; + // port server is listening on + + ACE_Naming_Context *ns_context_; + // Current naming context + + ACE_Naming_Context::Context_Scope_Type ns_scope_; + // Defines the scope of the naming context + + FILE *infile_; + // input file + + ACE_Name_Options *name_options_; + // Name Options associated with the Naming Context +}; |