CORBA::InterfaceDef_ptr
TAO_IFR_Client_Adapter_Impl::get_interface (
    CORBA::ORB_ptr orb,
    const char *repo_id)
{
    CORBA::Object_var obj =
        orb->resolve_initial_references ("InterfaceRepository");

    if (CORBA::is_nil (obj.in ()))
    {
        throw ::CORBA::INTF_REPOS ();
    }

    CORBA::Repository_var repo =
        CORBA::Repository::_narrow (obj.in ()
                                   );

    if (CORBA::is_nil (repo.in ()))
    {
        throw ::CORBA::INTF_REPOS ();
    }

    CORBA::Contained_var result = repo->lookup_id (repo_id);

    if (CORBA::is_nil (result.in ()))
    {
        return CORBA::InterfaceDef::_nil ();
    }
    else
    {
        return CORBA::InterfaceDef::_narrow (result.in ());
    }
}
Example #2
0
CORBA::ValueDef_ptr
date::get_value_def () 
{
  CORBA::ORB_var orb = CORBA::ORB_instance ("mico-local-orb");
  CORBA::Object_var irobj = 
    orb->resolve_initial_references ("InterfaceRepository");
  CORBA::Repository_var ifr = CORBA::Repository::_narrow (irobj);
  assert (!CORBA::is_nil (ifr));

  CORBA::Contained_var cv = ifr->lookup_id ("IDL:date:1.0");
  CORBA::ValueDef_ptr val = CORBA::ValueDef::_narrow (cv);
  return val;
}