80 mpoa(poa), mservice(service)
91 return PortableServer::POA::_duplicate(
mpoa);
98 return CORBA::string_dup( service->getName().c_str() );
105 return CORBA::string_dup( service->doc().c_str() );
113 ::RTT::corba::CService::CProviderNames_var result = new ::RTT::corba::CService::CProviderNames();
114 result->length( names.size() );
115 for (
unsigned int i=0; i != names.size(); ++i )
116 result[i] = CORBA::string_dup( names[i].c_str() );
118 return result._retn();
122 const char * service_name)
124 std::string svc(service_name);
131 return RTT::corba::CService::_nil();
138 RTT::corba::CService_ptr serv;
141 mservs[svc] = std::pair<RTT::corba::CService_var,PortableServer::ServantBase_var>(serv, serv_i);
144 return RTT::corba::CService::_duplicate(
mservs[svc].first.in() );
151 return service->hasService( name );
158 ::RTT::corba::CServiceDescription_var d = new ::RTT::corba::CServiceDescription;
164 ::RTT::corba::COperationInterface::COperationDescriptions_var operations =
getOperations();
165 d->operations = operations;
167 ::RTT::corba::CDataFlowInterface::CPortDescriptions_var ports = getPortDescriptions();
170 ::RTT::corba::CConfigurationInterface::CPropertyNames_var properties =
getPropertyList();
171 d->properties = properties;
173 ::RTT::corba::CConfigurationInterface::CAttributeNames_var attributes =
getAttributeList();
174 d->attributes = attributes;
178 d->children.length( providers.size() );
179 d->children_descriptions.length( providers.size() );
181 for (
unsigned int i=0; i != providers.size(); ++i )
183 if (providers[i] ==
"this")
continue;
186 if (service->getPort(providers[i]))
continue;
188 ::RTT::corba::CService_ptr provider =
getService(providers[i].c_str());
189 Servants::const_iterator it =
mservs.find(providers[i]);
194 d->children[j] = provider;
195 d->children_descriptions[j] = child_description;
201 d->children.length(j);
202 d->children_descriptions.length(j);
virtual ::CORBA::Boolean hasService(const char *name)
virtual ::RTT::corba::CService_ptr getService(const char *name)
virtual char * getName(void)
virtual ::RTT::corba::CConfigurationInterface::CPropertyNames * getPropertyList(void)
virtual ::RTT::corba::CConfigurationInterface::CAttributeNames * getAttributeList(void)
std::vector< std::string > ProviderNames
PortableServer::POA_var mpoa
virtual ~RTT_corba_CService_i(void)
boost::shared_ptr< Service > shared_ptr
virtual RTT::corba::COperationInterface::COperationDescriptions * getOperations(void)
PortableServer::POA_ptr _default_POA()
RTT_corba_CService_i(RTT::ServicePtr service, PortableServer::POA_ptr poa)
virtual RTT::corba::CService_ptr activate_this()
virtual ::RTT::corba::CService::CProviderNames * getProviderNames(void)
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
static Logger::LogFunction endlog()
virtual char * getServiceDescription(void)
virtual ::RTT::corba::CServiceDescription * getCServiceDescription(void)
boost::weak_ptr< RTT::Service > mservice