diff options
Diffstat (limited to 'ace/Registry.cpp')
-rw-r--r-- | ace/Registry.cpp | 544 |
1 files changed, 272 insertions, 272 deletions
diff --git a/ace/Registry.cpp b/ace/Registry.cpp index 31c2816e34f..aa8e79ec7e7 100644 --- a/ace/Registry.cpp +++ b/ace/Registry.cpp @@ -22,7 +22,7 @@ ACE_RCSID(ace, Registry, "$Id$") // Separator for components in a name /* static */ -LPCTSTR ACE_Registry::STRING_SEPARATOR = ACE_TEXT ("\\"); +const ACE_TCHAR *ACE_Registry::STRING_SEPARATOR = ACE_TEXT ("\\"); int ACE_Registry::Name_Component::operator== (const Name_Component &rhs) const @@ -49,7 +49,7 @@ ACE_Registry::Binding::Binding () // Binding constructor // (Name version) ACE_Registry::Binding::Binding (const Name &name, - Binding_Type type) + Binding_Type type) : name_ (ACE_Registry::make_string (name)), type_ (type) { @@ -58,8 +58,8 @@ ACE_Registry::Binding::Binding (const Name &name, // Binding constructor // (String version) -ACE_Registry::Binding::Binding (const Istring &name, - Binding_Type type) +ACE_Registry::Binding::Binding (const ACE_TString &name, + Binding_Type type) : name_ (name), type_ (type) { @@ -92,7 +92,7 @@ ACE_Registry::Binding::name (Name &name) // Name accessors // (String version) void -ACE_Registry::Binding::name (Istring &name) +ACE_Registry::Binding::name (ACE_TString &name) { name = this->name_; } @@ -100,7 +100,7 @@ ACE_Registry::Binding::name (Istring &name) // Name accessors // (String version) -ACE_Registry::Istring +ACE_TString ACE_Registry::Binding::name (void) { return this->name_; @@ -117,8 +117,8 @@ ACE_Registry::Binding::type (void) // Simple object constructor ACE_Registry::Object::Object (void *data, - u_long size, - u_long type) + u_long size, + u_long type) : data_ (data), size_ (size), type_ (type) @@ -200,10 +200,10 @@ ACE_Registry::Naming_Context::Naming_Context (const Naming_Context &rhs) const ACE_Registry::Naming_Context & ACE_Registry::Naming_Context::operator= (const Naming_Context &rhs) { - ACE_UNUSED_ARG(rhs); + ACE_UNUSED_ARG(rhs); - // Not implemented - return *this; + // Not implemented + return *this; } @@ -218,7 +218,7 @@ ACE_Registry::Naming_Context::~Naming_Context () // (Name version) int ACE_Registry::Naming_Context::bind_new (const Name &name, - const Object &object) + const Object &object) { return this->bind_new (ACE_Registry::make_string (name), object); } @@ -227,8 +227,8 @@ ACE_Registry::Naming_Context::bind_new (const Name &name, // Insert <object> with <name> into <this> context // (String version) int -ACE_Registry::Naming_Context::bind_new (const Istring &name, - const Object &object) +ACE_Registry::Naming_Context::bind_new (const ACE_TString &name, + const Object &object) { // temporary object Object temp; @@ -247,7 +247,7 @@ ACE_Registry::Naming_Context::bind_new (const Istring &name, // (Name version) int ACE_Registry::Naming_Context::bind (const Name &name, - const Object &object) + const Object &object) { return this->bind (ACE_Registry::make_string (name), object); } @@ -256,15 +256,15 @@ ACE_Registry::Naming_Context::bind (const Name &name, // Insert or update <object> with <name> into <this> context // (String version) int -ACE_Registry::Naming_Context::bind (const Istring &name, - const Object &object) -{ - long result = ::RegSetValueEx (this->key_, - name.c_str (), - 0, - object.type (), - (const BYTE *) object.data (), - object.size ()); +ACE_Registry::Naming_Context::bind (const ACE_TString &name, + const Object &object) +{ + long result = ACE_TEXT_RegSetValueEx (this->key_, + name.c_str (), + 0, + object.type (), + (const BYTE *) object.data (), + object.size ()); ACE_REGISTRY_CALL_RETURN (result); } @@ -273,7 +273,7 @@ ACE_Registry::Naming_Context::bind (const Istring &name, // (Name version) int ACE_Registry::Naming_Context::rebind (const Name &name, - const Object &new_object) + const Object &new_object) { return this->rebind (ACE_Registry::make_string (name), new_object); } @@ -282,8 +282,8 @@ ACE_Registry::Naming_Context::rebind (const Name &name, // Update <object> with <name> in <this> context // (String version) int -ACE_Registry::Naming_Context::rebind (const Istring &name, - const Object &new_object) +ACE_Registry::Naming_Context::rebind (const ACE_TString &name, + const Object &new_object) { Object old_object; // find the old one first @@ -299,7 +299,7 @@ ACE_Registry::Naming_Context::rebind (const Istring &name, // (Name version) int ACE_Registry::Naming_Context::resolve (const Name &name, - Object &object) + Object &object) { return this->resolve (ACE_Registry::make_string (name), object); } @@ -308,20 +308,20 @@ ACE_Registry::Naming_Context::resolve (const Name &name, // Find <object> with <name> in <this> context // (String version) int -ACE_Registry::Naming_Context::resolve (const Istring &name, - Object &object) +ACE_Registry::Naming_Context::resolve (const ACE_TString &name, + Object &object) { // Get object state u_long type; void *data = object.data (); u_long size = object.size (); - long result = ::RegQueryValueEx (this->key_, - name.c_str (), - 0, - &type, - (BYTE *)data, - &size); + long result = ACE_TEXT_RegQueryValueEx (this->key_, + name.c_str (), + 0, + &type, + (BYTE *)data, + &size); if (result == ERROR_SUCCESS) { // Reset object state @@ -346,10 +346,10 @@ ACE_Registry::Naming_Context::unbind (const Name &name) // Remove object with <name> in <this> context // (String version) int -ACE_Registry::Naming_Context::unbind (const Istring &name) +ACE_Registry::Naming_Context::unbind (const ACE_TString &name) { - long result = ::RegDeleteValue (this->key_, - name.c_str ()); + long result = ACE_TEXT_RegDeleteValue (this->key_, + name.c_str ()); ACE_REGISTRY_CALL_RETURN (result); } @@ -369,61 +369,61 @@ ACE_Registry::Naming_Context::new_context (Naming_Context &naming_context) // (Name version) int ACE_Registry::Naming_Context::bind_new_context (const Name &name, - Naming_Context &naming_context, - u_long persistence, - u_long security_access, - LPSECURITY_ATTRIBUTES security_attributes) + Naming_Context &naming_context, + u_long persistence, + u_long security_access, + LPSECURITY_ATTRIBUTES security_attributes) { return this->bind_new_context (ACE_Registry::make_string (name), - naming_context, - persistence, - security_access, - security_attributes); + naming_context, + persistence, + security_access, + security_attributes); } // Insert <naming_context> with <name> relative to <this> context // (String version) int -ACE_Registry::Naming_Context::bind_new_context (const Istring &name, - Naming_Context &naming_context, - u_long persistence, - u_long security_access, - LPSECURITY_ATTRIBUTES security_attributes) +ACE_Registry::Naming_Context::bind_new_context (const ACE_TString &name, + Naming_Context &naming_context, + u_long persistence, + u_long security_access, + LPSECURITY_ATTRIBUTES security_attributes) { u_long reason; - long result = ::RegCreateKeyEx (this->key_, - name.c_str (), - 0, - 0, - persistence, - security_access, - security_attributes, - &naming_context.key_, - &reason); + long result = ACE_TEXT_RegCreateKeyEx (this->key_, + name.c_str (), + 0, + 0, + persistence, + security_access, + security_attributes, + &naming_context.key_, + &reason); if (result == ERROR_SUCCESS) // If create succeeds { if (reason == REG_CREATED_NEW_KEY) - // If new key: success - { - // Set the correct parent - naming_context.parent (this->key_); - // Set the correct name - naming_context.name (name); - } + // If new key: success + { + // Set the correct parent + naming_context.parent (this->key_); + // Set the correct name + naming_context.name (name); + } else - // reason == REG_OPENED_EXISTING_KEY - // Failed to make new key - { - // reset result to failure - result = -1; - // Close the key first - ::RegCloseKey (naming_context.key_); - // Reset key - naming_context.key_ = (HKEY) 0; - } + // reason == REG_OPENED_EXISTING_KEY + // Failed to make new key + { + // reset result to failure + result = -1; + // Close the key first + ::RegCloseKey (naming_context.key_); + // Reset key + naming_context.key_ = (HKEY) 0; + } } ACE_REGISTRY_CALL_RETURN (result); @@ -434,39 +434,39 @@ ACE_Registry::Naming_Context::bind_new_context (const Istring &name, // (Name version) int ACE_Registry::Naming_Context::bind_context (const Name &name, - /* const */ Naming_Context &naming_context, - u_long persistence, - u_long security_access, - LPSECURITY_ATTRIBUTES security_attributes) + /* const */ Naming_Context &naming_context, + u_long persistence, + u_long security_access, + LPSECURITY_ATTRIBUTES security_attributes) { return this->bind_context (ACE_Registry::make_string (name), - naming_context, - persistence, - security_access, - security_attributes); + naming_context, + persistence, + security_access, + security_attributes); } // Insert or update <naming_context> with <name> relative to <this> context // (String version) int -ACE_Registry::Naming_Context::bind_context (const Istring &name, - /* const */ Naming_Context &naming_context, - u_long persistence, - u_long security_access, - LPSECURITY_ATTRIBUTES security_attributes) +ACE_Registry::Naming_Context::bind_context (const ACE_TString &name, + /* const */ Naming_Context &naming_context, + u_long persistence, + u_long security_access, + LPSECURITY_ATTRIBUTES security_attributes) { u_long reason; - long result = ::RegCreateKeyEx (this->key_, - name.c_str (), - 0, - 0, - persistence, - security_access, - security_attributes, - &naming_context.key_, - &reason); + long result = ACE_TEXT_RegCreateKeyEx (this->key_, + name.c_str (), + 0, + 0, + persistence, + security_access, + security_attributes, + &naming_context.key_, + &reason); if (result == ERROR_SUCCESS) { // Set the correct parent @@ -483,34 +483,34 @@ ACE_Registry::Naming_Context::bind_context (const Istring &name, // (Name version) int ACE_Registry::Naming_Context::rebind_context (const Name &name, - /* const */ Naming_Context &new_naming_context) + /* const */ Naming_Context &new_naming_context) { return this->rebind_context (ACE_Registry::make_string (name), - new_naming_context); + new_naming_context); } // Rename <naming_context> to <name> // (String version) int -ACE_Registry::Naming_Context::rebind_context (const Istring &name, - /* const */ Naming_Context &new_naming_context) +ACE_Registry::Naming_Context::rebind_context (const ACE_TString &name, + /* const */ Naming_Context &new_naming_context) { Naming_Context old_naming_context; // find the old one first long result = this->resolve_context (name, - old_naming_context); + old_naming_context); if (result == 0) { // naming_context is found: delete entry result = this->unbind_context (name); if (result == 0) - { - // successful deletion; rebind - // beware of race conditions here - // (lets resolve this later) - result = this->bind_new_context (name, new_naming_context); - } + { + // successful deletion; rebind + // beware of race conditions here + // (lets resolve this later) + result = this->bind_new_context (name, new_naming_context); + } } return result; } @@ -528,10 +528,10 @@ ACE_Registry::Naming_Context::unbind_context (const Name &name) // Remove naming_context with <name> from <this> context // (String version) int -ACE_Registry::Naming_Context::unbind_context (const Istring &name) +ACE_Registry::Naming_Context::unbind_context (const ACE_TString &name) { - long result = ::RegDeleteKey (this->key_, - name.c_str ()); + long result = ACE_TEXT_RegDeleteKey (this->key_, + name.c_str ()); ACE_REGISTRY_CALL_RETURN (result); } @@ -541,27 +541,27 @@ ACE_Registry::Naming_Context::unbind_context (const Istring &name) // (Name version) int ACE_Registry::Naming_Context::resolve_context (const Name &name, - Naming_Context &naming_context, - u_long security_access) + Naming_Context &naming_context, + u_long security_access) { return this->resolve_context (ACE_Registry::make_string (name), - naming_context, - security_access); + naming_context, + security_access); } // Find <naming_context> with <name> in <this> context // (String version) int -ACE_Registry::Naming_Context::resolve_context (const Istring &name, - Naming_Context &naming_context, - u_long security_access) -{ - long result = ::RegOpenKeyEx (this->key_, - name.c_str (), - 0, - security_access, - &naming_context.key_); +ACE_Registry::Naming_Context::resolve_context (const ACE_TString &name, + Naming_Context &naming_context, + u_long security_access) +{ + long result = ACE_TEXT_RegOpenKeyEx (this->key_, + name.c_str (), + 0, + security_access, + &naming_context.key_); if (result == ERROR_SUCCESS) { // set the correct parent @@ -579,8 +579,8 @@ int ACE_Registry::Naming_Context::destroy (void) { // hopefully the parent_key_ is still open - long result = ::RegDeleteKey (this->parent_key_, - this->name_.c_str ()); + long result = ACE_TEXT_RegDeleteKey (this->parent_key_, + this->name_.c_str ()); ACE_REGISTRY_CALL_RETURN (result); } @@ -605,10 +605,10 @@ ACE_Registry::Naming_Context::close (void) // Convert a <name> to a <string> -ACE_Registry::Istring +ACE_TString ACE_Registry::make_string (const Name &const_name) { - Istring string; + ACE_TString string; Name &name = ACE_const_cast (Name &, const_name); // Iterator through the components of name @@ -617,8 +617,8 @@ ACE_Registry::make_string (const Name &const_name) iterator++) { if (iterator != name.begin ()) - // If this is not the first component, we will add separators - string += ACE_Registry::STRING_SEPARATOR; + // If this is not the first component, we will add separators + string += ACE_Registry::STRING_SEPARATOR; const Name_Component &component = *iterator; // Add to string string += component.id_; @@ -630,32 +630,32 @@ ACE_Registry::make_string (const Name &const_name) // Convert a <string> to a <name> ACE_Registry::Name -ACE_Registry::make_name (const Istring &string) +ACE_Registry::make_name (const ACE_TString &string) { int new_position = 0; int last_position = 0; Name name; // Rememeber: NPOS is -1 - while (new_position != Istring::npos) + while (new_position != ACE_TString::npos) { Name_Component component; // Find the separator new_position = string.find (ACE_Registry::STRING_SEPARATOR, new_position); - if (new_position != Istring::npos) - // If we have not gone past the end - { - // Get the substring - component.id_ = string.substr (last_position, - new_position - last_position); - // Skip past the seperator - new_position += ACE_OS::strlen (ACE_Registry::STRING_SEPARATOR); - } + if (new_position != ACE_TString::npos) + // If we have not gone past the end + { + // Get the substring + component.id_ = string.substr (last_position, + new_position - last_position); + // Skip past the seperator + new_position += ACE_OS::strlen (ACE_Registry::STRING_SEPARATOR); + } else - { - // Get the last substring - component.id_ = string.substr (last_position); - } + { + // Get the last substring + component.id_ = string.substr (last_position); + } // Update positions last_position = new_position; // Insert component into name @@ -719,7 +719,7 @@ ACE_Registry::Naming_Context::name (Name &name) // Set name // (String version) void -ACE_Registry::Naming_Context::name (const Istring &name) +ACE_Registry::Naming_Context::name (const ACE_TString &name) { this->name_ = name; } @@ -727,7 +727,7 @@ ACE_Registry::Naming_Context::name (const Istring &name) // Get name // (String version) -ACE_Registry::Istring +ACE_TString ACE_Registry::Naming_Context::name (void) { return this->name_; @@ -737,7 +737,7 @@ ACE_Registry::Naming_Context::name (void) // Get name // (String version) void -ACE_Registry::Naming_Context::name (Istring &name) +ACE_Registry::Naming_Context::name (ACE_TString &name) { name = this->name_; } @@ -749,8 +749,8 @@ ACE_Registry::Naming_Context::name (Istring &name) // at a time int ACE_Registry::Naming_Context::list (u_long how_many, - Binding_List &list, - Binding_Iterator &iter) + Binding_List &list, + Binding_Iterator &iter) { // Empty list static const ACE_Registry::Binding_List empty_list; @@ -768,7 +768,7 @@ ACE_Registry::Naming_Context::list (u_long how_many, // Get the next <how_many> values long result = iter.next_n (how_many, - list); + list); return result; } @@ -798,9 +798,9 @@ ACE_Registry::Naming_Context::list (Binding_List &list) ACE_Registry::Binding binding; result = iterator.next_one (binding); if (result == 0) - list.insert (binding); + list.insert (binding); else - break; + break; } return 0; } @@ -879,7 +879,7 @@ ACE_Registry::Binding_Iterator::next_one (Binding &binding) // Next <how_many> entries int ACE_Registry::Binding_Iterator::next_n (u_long how_many, - Binding_List &list) + Binding_List &list) { // Empty list static const ACE_Registry::Binding_List empty_list; @@ -931,7 +931,7 @@ ACE_Registry::Binding_Iterator::current_enumeration (void) int ACE_Registry::Binding_Iterator::Object_Iteration::next_n (u_long how_many, - Binding_List &list) + Binding_List &list) { // Make a copy u_long requested = how_many; @@ -939,58 +939,58 @@ ACE_Registry::Binding_Iterator::Object_Iteration::next_n (u_long how_many, // While there are more entries to be added to the list while (how_many > 0) { - TCHAR string [ACE_Registry::Naming_Context::MAX_OBJECT_NAME_SIZE]; - u_long size = sizeof string / sizeof (TCHAR); - long result = ::RegEnumValue (this->parent_->naming_context (). key(), - this->index_, - string, - &size, - 0, - 0, - 0, - 0); + ACE_TCHAR string [ACE_Registry::Naming_Context::MAX_OBJECT_NAME_SIZE]; + u_long size = sizeof string / sizeof (ACE_TCHAR); + long result = ACE_TEXT_RegEnumValue (this->parent_->naming_context ().key (), + this->index_, + string, + &size, + 0, + 0, + 0, + 0); switch (result) - { - case ERROR_SUCCESS: - // Object found - { - // Readjust counters - this->index_++; - how_many--; - - // Add to list - // Create binding - Binding binding (string, OBJECT); - // Add to binding list - list.insert (binding); - } - // Continue to add to list - break; - - case ERROR_NO_MORE_ITEMS: - // Enumeration of objects complete - // Reset index - this->index_ = 0; - - // Current enumeration will become CONTEXTS - this->parent_->current_enumeration (this->parent_->context_iteration_); - result = this->parent_->current_enumeration ().next_n (how_many, - list); - // If we were able to add objects - if (requested != how_many) - return 0; - else - return result; - - default: - // Strange error - // Reset index - this->index_ = 0; - // Current enumeration will become COMPLETE - this->parent_->current_enumeration (this->parent_->iteration_complete_); - // strange error - return -1; - } + { + case ERROR_SUCCESS: + // Object found + { + // Readjust counters + this->index_++; + how_many--; + + // Add to list + // Create binding + Binding binding (string, OBJECT); + // Add to binding list + list.insert (binding); + } + // Continue to add to list + break; + + case ERROR_NO_MORE_ITEMS: + // Enumeration of objects complete + // Reset index + this->index_ = 0; + + // Current enumeration will become CONTEXTS + this->parent_->current_enumeration (this->parent_->context_iteration_); + result = this->parent_->current_enumeration ().next_n (how_many, + list); + // If we were able to add objects + if (requested != how_many) + return 0; + else + return result; + + default: + // Strange error + // Reset index + this->index_ = 0; + // Current enumeration will become COMPLETE + this->parent_->current_enumeration (this->parent_->iteration_complete_); + // strange error + return -1; + } } // If we reach here, all of <how_many> pairs were added to the list // Since more entries may be available @@ -1001,7 +1001,7 @@ ACE_Registry::Binding_Iterator::Object_Iteration::next_n (u_long how_many, int ACE_Registry::Binding_Iterator::Context_Iteration::next_n (u_long how_many, - Binding_List &list) + Binding_List &list) { // Make a copy u_long requested = how_many; @@ -1009,53 +1009,53 @@ ACE_Registry::Binding_Iterator::Context_Iteration::next_n (u_long how_many, // While there are more entries to be added to the list while (how_many > 0) { - TCHAR string [ACE_Registry::Naming_Context::MAX_CONTEXT_NAME_SIZE]; - u_long size = sizeof string / sizeof (TCHAR); - long result = ::RegEnumKeyEx (this->parent_->naming_context (). key (), - this->index_, - string, - &size, - 0, - 0, - 0, - 0); + ACE_TCHAR string [ACE_Registry::Naming_Context::MAX_CONTEXT_NAME_SIZE]; + u_long size = sizeof string / sizeof (ACE_TCHAR); + long result = ACE_TEXT_RegEnumKeyEx (this->parent_->naming_context (). key (), + this->index_, + string, + &size, + 0, + 0, + 0, + 0); switch (result) - { - case ERROR_SUCCESS: - // Object found - { - // Readjust counters - this->index_++; - how_many--; - - // Add to list - // Create binding - Binding binding (string, CONTEXT); - // Add to binding list - list.insert (binding); - } - // Continue to add to list - break; - - case ERROR_NO_MORE_ITEMS: - // Enumeration of objects complete - - /* FALL THROUGH */ - - default: - // Strange error - - // Reset index - this->index_ = 0; - // Current enumeration will become CONTEXTS - this->parent_->current_enumeration (this->parent_->iteration_complete_); - - // If we were able to add contexts - if (requested != how_many) - return 0; - else - return -1; - } + { + case ERROR_SUCCESS: + // Object found + { + // Readjust counters + this->index_++; + how_many--; + + // Add to list + // Create binding + Binding binding (string, CONTEXT); + // Add to binding list + list.insert (binding); + } + // Continue to add to list + break; + + case ERROR_NO_MORE_ITEMS: + // Enumeration of objects complete + + /* FALL THROUGH */ + + default: + // Strange error + + // Reset index + this->index_ = 0; + // Current enumeration will become CONTEXTS + this->parent_->current_enumeration (this->parent_->iteration_complete_); + + // If we were able to add contexts + if (requested != how_many) + return 0; + else + return -1; + } } // If we reach here, all of <how_many> pairs were added to the list // Since more entries may be available @@ -1066,13 +1066,13 @@ ACE_Registry::Binding_Iterator::Context_Iteration::next_n (u_long how_many, int ACE_Registry::Binding_Iterator::Iteration_Complete::next_n (u_long how_many, - Binding_List &list) + Binding_List &list) { - ACE_UNUSED_ARG(list); - ACE_UNUSED_ARG(how_many); + ACE_UNUSED_ARG(list); + ACE_UNUSED_ARG(how_many); - // No more values - return -1; + // No more values + return -1; } @@ -1083,8 +1083,8 @@ ACE_Registry::Binding_Iterator::Iteration_Complete::next_n (u_long how_many, /* static */ int ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_context, - HKEY predefined, - LPCTSTR machine_name) + HKEY predefined, + const ACE_TCHAR *machine_name) { long result = -1; @@ -1092,16 +1092,16 @@ ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_co machine_name = 0; if (predefined == HKEY_LOCAL_MACHINE || predefined == HKEY_USERS) - result = ::RegConnectRegistry ((LPTSTR) machine_name, - predefined, - &naming_context.key_); + result = ACE_TEXT_RegConnectRegistry (machine_name, + predefined, + &naming_context.key_); if (predefined == HKEY_CURRENT_USER || predefined == HKEY_CLASSES_ROOT) // Make sure that for these types, the machine is local if (machine_name == 0 || - ACE_Predefined_Naming_Contexts::is_local_host (machine_name)) + ACE_Predefined_Naming_Contexts::is_local_host (machine_name)) { - naming_context.key_ = predefined; - result = 0; + naming_context.key_ = predefined; + result = 0; } else result = -1; @@ -1112,10 +1112,10 @@ ACE_Predefined_Naming_Contexts::connect (ACE_Registry::Naming_Context &naming_co // Check if <machine_name> is the local host /* static */ int -ACE_Predefined_Naming_Contexts::is_local_host (LPCTSTR machine_name) +ACE_Predefined_Naming_Contexts::is_local_host (const ACE_TCHAR *machine_name) { - TCHAR local_host[MAXHOSTNAMELEN]; - int result = ACE_OS::hostname (local_host, sizeof local_host / sizeof (TCHAR)); + ACE_TCHAR local_host[MAXHOSTNAMELEN]; + int result = ACE_OS::hostname (local_host, sizeof local_host / sizeof (ACE_TCHAR)); if (result == 0) result = !ACE_OS::strcmp (local_host, machine_name); else |