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;
    }
}
Esempio n. 3
0
 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;
         }
    }
 }
Esempio n. 4
0
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;
}