bool operator== (const ::DDS::InstanceHandle_t & instancehandle1, const ::DDS::InstanceHandle_t & instancehandle2) { DDS_InstanceHandle_t i1 = DDS_HANDLE_NIL; DDS_InstanceHandle_t i2 = DDS_HANDLE_NIL; i1 <<= instancehandle1; i2 <<= instancehandle2; if (DDS_InstanceHandle_is_nil(&instancehandle1)) { return DDS_InstanceHandle_is_nil (&instancehandle2); } else if (DDS_InstanceHandle_is_nil(&instancehandle2)) { return DDS_InstanceHandle_is_nil (&instancehandle1); } else { return DDS_InstanceHandle_equals (&i1, &i2); } }
void operator<<= (::DDS::InstanceHandle_t &ddsinstancehandle, const ::DDS_InstanceHandle_t & instancehandle) { if (DDS_InstanceHandle_is_nil (&instancehandle)) { ddsinstancehandle = DDS::HANDLE_NIL; } else { ACE_OS::memcpy (ddsinstancehandle.value, instancehandle.keyHash.value, sizeof (instancehandle.keyHash.value)); ddsinstancehandle.length = instancehandle.keyHash.length; ddsinstancehandle.isValid = instancehandle.isValid; } }
void Sender_exec_i::register_handles() { Writer_Table::iterator i = this->ktests_.begin (); for (i = this->ktests_.begin(); i != this->ktests_.end(); ++i) { DDS_InstanceHandle_t const hnd = this->writer_->register_instance (i->second); if (DDS_InstanceHandle_is_nil (&hnd)) { ACE_ERROR ((LM_ERROR, ACE_TEXT ("ERROR: Unable to register handle for <%C> - iteration <%d>\n"), i->first.c_str (), i->second->iteration)); } else { ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("Registering instance for <%C>\n"), i->second->key.in ())); this->handles_[i->first.c_str ()] = hnd; } } }
LSCPMasterObject* LSCPMaster::CreateMasterObject(int sid) { LSCPMasterObject *s = NULL; DDS_InstanceHandle_t h1 = DDS_HANDLE_NIL, h2 = DDS_HANDLE_NIL, h3 = DDS_HANDLE_NIL, h4 = DDS_HANDLE_NIL; control->srcId = srcId; control->sessionId = sid; h1 = controlWriter->register_instance(*control); if (DDS_InstanceHandle_is_nil(&h1)) { //TODO: Replace with real error logging ControlLogError("Failed create LSCP control instance handle\n"); goto done; } s = new LSCPMasterObject(this,srcId,sid,h1,h2,h3,h4); done: return s; }