fw4spl
fwServices Namespace Reference

Namespace fwServices is dedicated to (mimic) the dynamic affectation of methods to (pure data) objects (fwTools::Object), and component orientation transparently. This is assimilable to the notion of role (corresponding to the IService class). More...

Namespaces

 factory
 Contains fwServices::factory utilities.
 
 op
 The namespace fwServices::op contains several methods for managing services to object.
 
 OSR
 OSR wraps main Object-Service registry access.
 
 registry
 The namespace fwServices::registry contains class to manage services, object and config.
 

Classes

class  AppConfigManager
 This class provides an API to manage config template. More...
 
class  IAppConfigManager
 This class provides an interface to manage configurations template. More...
 
class  IController
 This interface defines control service API. Does nothing particularly, can be considered as a default service type to be implemented by unclassified services. More...
 
class  IHasServices
 Interface for objects that need to manage services. More...
 
class  IOperator
 This interface defines operator service API. More...
 
class  IParametersService
 This interface defines a basic slots to receive parameter values from signals. More...
 
class  IRegisterer
 This interface defines registerer service API. Must be implemented for services that register objects together. More...
 
class  IService
 Base class for all services. More...
 
class  IXMLParser
 Service type for the construction of an object and associated services from an XML-based description. More...
 
class  SConfigController
 This service starts/stops a template configuration. More...
 
class  ServiceFactoryRegistrar
 Helper for registering a service Creates internally the service factory and adds it to the FactoryRegistry. More...
 
class  ServiceObjectFactoryRegistrar
 Helper for associating an object to a service implementation. More...
 

Functions

void displayPt (::boost::property_tree::ptree &pt, std::string indent="")
 
std::ostream & operator<< (std::ostream &_ostream, IService &_service)
 Streaming a service. More...
 
Methods for creating and attaching services to object
FWSERVICES_API::fwServices::IService::sptr add (::fwData::Object::sptr obj, const std::string &serviceType, const std::string &_implType, const std::string &_id="")
 Create and attach to the object obj a service of type serviceType, implementation _implementationId with the universal unique identifier _id. More...
 
template<class SERVICE >
std::shared_ptr< SERVICE > add (::fwData::Object::csptr obj, const std::string &_implType, const std::string &_id="")
 Create and attach to the object obj a service of type serviceType, implementation _implementationId with the universal unique identifier _id. More...
 
FWSERVICES_API::fwServices::IService::sptr add (const std::string &_implType, const std::string &_id="")
 Create a service of type serviceType. More...
 
Methods for accessing services
FWSERVICES_API::fwServices::IService::sptr get (::fwData::Object::sptr obj, std::string serviceType)
 Get the first service of type serviceType which is attached to obj. More...
 
template<class SERVICE >
std::shared_ptr< SERVICE > get (::fwData::Object::sptr obj)
 
FWSERVICES_API::fwServices::IService::sptr get (std::string uid)
 Return a registered IService having uid as unique universal identifier , its an alias on fwData::Object::getID(...) method.
 

Detailed Description

Namespace fwServices is dedicated to (mimic) the dynamic affectation of methods to (pure data) objects (fwTools::Object), and component orientation transparently. This is assimilable to the notion of role (corresponding to the IService class).

  • IService : API to normalize manipulation, using a limited set of well defined methods
  • IService : contract for service implementation
  • macros.hpp : declaration of service to object bindings

Function Documentation

fwServices::IService::sptr fwServices::add ( ::fwData::Object::sptr  obj,
const std::string &  serviceType,
const std::string &  _implType,
const std::string &  _id = "" 
)

Create and attach to the object obj a service of type serviceType, implementation _implementationId with the universal unique identifier _id.

Returns
the service
Note
the template method is also available, where the template parameter SERVICE corresponds to the serviceType
Deprecated:
Use ::fwServices::add(srvImp, uid) instead.

Definition at line 24 of file Add.cpp.

References FW_DEPRECATED_MSG, fwServices::registry::ServiceFactory::getDefault(), and SLM_ASSERT.

+ Here is the call graph for this function:

template<class SERVICE >
std::shared_ptr< SERVICE > fwServices::add ( ::fwData::Object::csptr  obj,
const std::string &  _implType,
const std::string &  _id = "" 
)

Create and attach to the object obj a service of type serviceType, implementation _implementationId with the universal unique identifier _id.

Returns
a pointer to the new service with the given template type
Deprecated:
Use ::fwServices::add(srvImp, uid) instead.

Definition at line 19 of file Add.hxx.

References FW_DEPRECATED_MSG, SLM_ASSERT, and SPTR.

fwServices::IService::sptr fwServices::add ( const std::string &  _implType,
const std::string &  _id = "" 
)

Create a service of type serviceType.

Returns
a pointer to the new service
a pointer to the new service with the given template type

Definition at line 36 of file Add.hxx.

fwServices::IService::sptr fwServices::get ( ::fwData::Object::sptr  obj,
std::string  serviceType 
)

Get the first service of type serviceType which is attached to obj.

Note
The template method is also available, where the template parameter SERVICE relates the service type serviceType
Returns
the requested service, null if not
Deprecated:
It will be removed in 20.0

Definition at line 18 of file Get.cpp.

References FW_DEPRECATED_MSG, and OSLM_ASSERT.

Referenced by fwGui::registrar::MenuBarRegistrar::manage(), fwGui::registrar::MenuRegistrar::manage(), and fwGui::registrar::ToolBarRegistrar::manage().

+ Here is the caller graph for this function:

template<class SERVICE >
std::shared_ptr< SERVICE > fwServices::get ( ::fwData::Object::sptr  obj)
Deprecated:
It will be removed in 20.0

Definition at line 20 of file Get.hxx.

References OSLM_ASSERT.

std::ostream& fwServices::operator<< ( std::ostream &  _ostream,
IService _service 
)

Streaming a service.

See also
IService::operator<<(std::ostream & _ostream, IService& _service)
Note
Invoke IService::info( std::ostream )

Definition at line 936 of file IService.cpp.

References fwServices::IService::info().

+ Here is the call graph for this function: