📄 client_test.cpp
字号:
{ ACE_DEBUG ((LM_DEBUG, "\n")); this->list_options (); ACE_DEBUG ((LM_DEBUG, " Name Service Main Menu\n")); ACE_DEBUG ((LM_DEBUG, " ----------------------\n")); ACE_DEBUG ((LM_DEBUG, "<P> Use Process Local Database\n")); ACE_DEBUG ((LM_DEBUG, "<N> Use Node Local Database\n"));; ACE_DEBUG ((LM_DEBUG, "<H> Set Remote Name server <host> and <port>\n\n")); ACE_DEBUG ((LM_DEBUG, "<B> Bind <key> <value> [<type>]\n")); ACE_DEBUG ((LM_DEBUG, "<U> Unbind <key>\n")); ACE_DEBUG ((LM_DEBUG, "<R> Rebind <key> <value> [<type>]\n")); ACE_DEBUG ((LM_DEBUG, "<F> Find <key>\n")); ACE_DEBUG ((LM_DEBUG, "<J> Lookup keys matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<K> Lookup values matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<L> Lookup types matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<C> Complete lookup keys matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<D> Complete lookup values matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<E> Complete lookup types matching <pattern>\n")); ACE_DEBUG ((LM_DEBUG, "<Q> or ^C (exit)\n"));}voidClient_Test::list_options (void){ switch (this->name_options_->context ()) { case ACE_Naming_Context::PROC_LOCAL: ACE_DEBUG ((LM_DEBUG, " *** Using Process Local Database\n")); break; case ACE_Naming_Context::NODE_LOCAL: ACE_DEBUG ((LM_DEBUG, " *** Using Node Local Database\n")); break; case ACE_Naming_Context::NET_LOCAL: ACE_DEBUG ((LM_DEBUG, " *** Hostname: %s\n", this->name_options_->nameserver_host ())); ACE_DEBUG ((LM_DEBUG, " *** Port Number: %d\n", this->name_options_->nameserver_port ())); break; default: ACE_ERROR ((LM_ERROR, "ERROR: shouldn't occur!\n")); break; } ACE_DEBUG ((LM_DEBUG, " *** Namespace directory is %s ***\n", this->name_options_->namespace_dir ()));}intClient_Test::set_proc_local (void){ // Close down original name space NAMING_CONTEXT ()->close (); this->name_options_->nameserver_host (ACE_TEXT ("localhost")); this->name_options_->context (ACE_Naming_Context::PROC_LOCAL); return NAMING_CONTEXT ()->open (ACE_Naming_Context::PROC_LOCAL);}intClient_Test::set_node_local (void){ // Close down original name space NAMING_CONTEXT ()->close (); this->name_options_->nameserver_host (ACE_TEXT ("localhost")); this->name_options_->context (ACE_Naming_Context::NODE_LOCAL); return NAMING_CONTEXT ()->open (ACE_Naming_Context::NODE_LOCAL);}intClient_Test::set_host (const char *hostname, int port){ // Close down original name space NAMING_CONTEXT ()->close (); this->name_options_->context (ACE_Naming_Context::NET_LOCAL); // Set Name Options this->name_options_->nameserver_host (ACE_TEXT_CHAR_TO_TCHAR (hostname)); this->name_options_->nameserver_port (port); return NAMING_CONTEXT ()->open (ACE_Naming_Context::NET_LOCAL);}intClient_Test::quit (void){ // Send ourselves a SIGINT! return ACE_OS::kill (ACE_OS::getpid (), SIGINT);}intClient_Test::bind (const char *key, const char *value, const char *type){ if (NAMING_CONTEXT ()->bind (key, value, type) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Bind failed! Key %s exists\n", "Client_Test::bind", key), 0); return 0;}intClient_Test::unbind (const char *key){ if (NAMING_CONTEXT ()->unbind (key) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Unbind failed! Key %s not found\n", "Client_Test::unbind", key), 0); return 0;}intClient_Test::rebind (const char *key, const char *value, const char *type){ int result = NAMING_CONTEXT ()->rebind (key, value, type ); return result == 1 ? 0 : result;}intClient_Test::list_names (const char *pattern){ ACE_PWSTRING_SET set; if (NAMING_CONTEXT ()->list_names (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_names"), 0); else { ACE_PWSTRING_ITERATOR set_iterator (set); for (ACE_NS_WString *name = 0; set_iterator.next (name) !=0; set_iterator.advance()) ACE_DEBUG ((LM_DEBUG, "%s\n", name->char_rep ())); } return 0;}intClient_Test::list_values (const char *pattern){ ACE_PWSTRING_SET set; if (NAMING_CONTEXT ()->list_values (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_values"), 0); else { ACE_PWSTRING_ITERATOR set_iterator (set); for (ACE_NS_WString *value = 0; set_iterator.next (value) !=0; set_iterator.advance()) ACE_DEBUG ((LM_DEBUG, "%s\n", value->char_rep ())); } return 0;}intClient_Test::list_types (const char *pattern){ ACE_PWSTRING_SET set; if (NAMING_CONTEXT ()->list_types (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_types"), 0); else { ACE_PWSTRING_ITERATOR set_iterator (set); for (ACE_NS_WString *type = 0; set_iterator.next (type) !=0; set_iterator.advance()) ACE_DEBUG ((LM_DEBUG, "%s\n", type->char_rep ())); } return 0;}intClient_Test::list_name_entries (const char *pattern){ ACE_BINDING_SET set; if (NAMING_CONTEXT ()->list_name_entries (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_names"), 0); else { ACE_BINDING_ITERATOR set_iterator (set); for (ACE_Name_Binding *entry = 0; set_iterator.next (entry) !=0; set_iterator.advance()) { ACE_DEBUG ((LM_DEBUG, "%s\t", entry->name_.char_rep ())); ACE_DEBUG ((LM_DEBUG, "%s\t", entry->value_.char_rep ())); if (entry->type_) ACE_DEBUG ((LM_DEBUG, "%s\n", entry->type_)); } } return 0;}intClient_Test::list_value_entries (const char *pattern){ ACE_BINDING_SET set; if (NAMING_CONTEXT ()->list_value_entries (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_values"), 0); else { ACE_BINDING_ITERATOR set_iterator (set); for (ACE_Name_Binding *entry = 0; set_iterator.next (entry) !=0; set_iterator.advance()) { ACE_DEBUG ((LM_DEBUG, "%s\t", entry->name_.char_rep ())); ACE_DEBUG ((LM_DEBUG, "%s\t", entry->value_.char_rep ())); if (entry->type_) ACE_DEBUG ((LM_DEBUG, "%s\n", entry->type_)); } } return 0;}intClient_Test::list_type_entries (const char *pattern){ ACE_BINDING_SET set; if (NAMING_CONTEXT ()->list_type_entries (set, pattern) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Pattern matching failed!\n", "Client_Test::list_types"), 0); else { ACE_BINDING_ITERATOR set_iterator (set); for (ACE_Name_Binding *entry = 0; set_iterator.next (entry) !=0; set_iterator.advance()) { ACE_DEBUG ((LM_DEBUG, "%s\t", entry->name_.char_rep ())); ACE_DEBUG ((LM_DEBUG, "%s\t", entry->value_.char_rep ())); ACE_DEBUG ((LM_DEBUG, "%s\n", entry->type_)); } } return 0;}intClient_Test::find (const char *key){ char *value = 0; char *type = 0; if (NAMING_CONTEXT ()->resolve (key, value, type) != 0) ACE_ERROR_RETURN ((LM_ERROR, "%p Find failed! Key %s not found\n", "Client_Test::list_find", key), 0); else { ACE_DEBUG ((LM_DEBUG, "Binding for %s : value = %s\ttype = %s\n", key, value, type)); if (type) delete [] type; return 0; }}#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)template class ACE_Dynamic_Service<ACE_Naming_Context>;#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)#pragma instantiate ACE_Dynamic_Service<ACE_Naming_Context>#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -