OpenRTM-aist  1.2.1
Classes | Public Member Functions | Protected Attributes | List of all members
SDOPackage::Organization_impl Class Reference

Organization implementation class. More...

#include <SdoOrganization.h>

Inheritance diagram for SDOPackage::Organization_impl:
Inheritance graph
[legend]
Collaboration diagram for SDOPackage::Organization_impl:
Collaboration graph
[legend]

Classes

struct  nv_name
 Functor for NameValue. More...
 
struct  sdo_id
 Functor for SDO. More...
 

Public Member Functions

 Organization_impl (SDOSystemElement_ptr sdo)
 Constructor. More...
 
virtual ~Organization_impl (void)
 Virtual destructor. More...
 
virtual char * get_organization_id () throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Get Organization ID More...
 
virtual CORBA::Boolean add_organization_property (const OrganizationProperty &org_property) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Set OrganizationProperty More...
 
virtual OrganizationProperty * get_organization_property () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Get OrganizationProperty More...
 
virtual CORBA::Any * get_organization_property_value (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Get specified value of OrganizationProperty More...
 
virtual CORBA::Boolean set_organization_property_value (const char *name, const CORBA::Any &value) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Set specified value of OrganizationProperty More...
 
virtual CORBA::Boolean remove_organization_property (const char *name) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Remove specified OrganizationProperty More...
 
virtual CORBA::Boolean add_members (const SDOList &sdo_list) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Add the member SDOs More...
 
virtual SDOList * get_members () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Get the member list of the Organization More...
 
virtual CORBA::Boolean set_members (const SDOList &sdos) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Set SDO More...
 
virtual CORBA::Boolean remove_member (const char *id) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Remove member SDO from Organization More...
 
virtual SDOSystemElement_ptr get_owner () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Get the owner of Organization More...
 
virtual CORBA::Boolean set_owner (SDOSystemElement_ptr sdo) throw (CORBA::SystemException, InvalidParameter, NotAvailable, InternalError)
 [CORBA interface] Set the owner to the Organization More...
 
virtual DependencyType get_dependency () throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Get the DependencyType of the Organization More...
 
virtual CORBA::Boolean set_dependency (DependencyType dependency) throw (CORBA::SystemException, NotAvailable, InternalError)
 [CORBA interface] Set the DependencyType of the Organization More...
 
Organization_ptr getObjRef ()
 

Protected Attributes

::RTC::Logger rtclog
 
Organization_var m_objref
 
std::string m_pId
 The identifier of the Organization. More...
 
SDOPackage::SDOList m_memberList
 A list of SDO members associated with the Organization. More...
 
SDOPackage::SDOSystemElement_var m_varOwner
 The owner of the Organization. More...
 
SDOPackage::DependencyType m_dependency
 Dependency type. More...
 
SDOPackage::OrganizationProperty m_orgProperty
 Organization property. More...
 
Mutex m_org_mutex
 

Detailed Description

Organization implementation class.

Organization interface is an interface to add and delete etc data defined by Resource Data Model.

Since
0.4.0

Constructor & Destructor Documentation

SDOPackage::Organization_impl::Organization_impl ( SDOSystemElement_ptr  sdo)

Constructor.

Constructor

virtual SDOPackage::Organization_impl::~Organization_impl ( void  )
virtual

Virtual destructor.

Virtual Virtual destructor

Member Function Documentation

virtual CORBA::Boolean SDOPackage::Organization_impl::add_members ( const SDOList &  sdo_list)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Add the member SDOs

This operation adds a member that is an SDO to the organization. The member to be added is specified by argument "sdo."

Parameters
sdo_listThe member to be added to the organization.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe argument "sdo" is null.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.

Reimplemented in SDOPackage::PeriodicECOrganization.

virtual CORBA::Boolean SDOPackage::Organization_impl::add_organization_property ( const OrganizationProperty &  org_property)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Set OrganizationProperty

Note: The PIM description of SDO Specification differs from the operation name. Note: Does this operation correspond to addOrganizationProperty? This operation adds the OrganizationProperty to an Organization. The OrganizationProperty is the property description of an Organization.

Parameters
org_propertyThe type of organization to be added.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
InvalidParameterThe argument "organizationProperty" is null.
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual DependencyType SDOPackage::Organization_impl::get_dependency ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get the DependencyType of the Organization

This operation gets the relationship "DependencyType" of the Organization.

Returns
The relationship of the Organization as DependencyType. DependencyType is defined in Section 2.2.2, "Data Structures Used by Resource Data Model," on page 2-3 of OMG SDO Specification.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual SDOList* SDOPackage::Organization_impl::get_members ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get the member list of the Organization

This operation returns a list of SDOs that are members of an Organization. An empty list is returned if the Organization does not have any members.

Returns
Member SDOs that are contained in the Organization object.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual char* SDOPackage::Organization_impl::get_organization_id ( )
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get Organization ID

This operation returns the 'ID' of the Organization.

Returns
The id of the Organization defined in the resource data model.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual OrganizationProperty* SDOPackage::Organization_impl::get_organization_property ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get OrganizationProperty

This operation returns the OrganizationProperty that an Organization has. An empty OrganizationProperty is returned if the Organization does not have any properties.

Returns
The list with properties of the organization.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual CORBA::Any* SDOPackage::Organization_impl::get_organization_property_value ( const char *  name)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get specified value of OrganizationProperty

This operation returns a value in the OrganizationProperty. The value to be returned is specified by argument "name."

Parameters
nameThe name of the value to be returned.
Returns
The value of property which is specified by argument "name".
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
InvalidParameterThere are no Property stored with argument "name".
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual SDOSystemElement_ptr SDOPackage::Organization_impl::get_owner ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get the owner of Organization

This operation returns the SDOSystemElement that is owner of the Organization.

Returns
Reference of owner object.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
Organization_ptr SDOPackage::Organization_impl::getObjRef ( void  )
inline
virtual CORBA::Boolean SDOPackage::Organization_impl::remove_member ( const char *  id)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Remove member SDO from Organization

This operation removes a member from the organization. The member to be removed is specified by argument "id."

Parameters
idId of the SDO to be removed from the organization.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe argument "id" is null or does not exist.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.

Reimplemented in SDOPackage::PeriodicECOrganization.

virtual CORBA::Boolean SDOPackage::Organization_impl::remove_organization_property ( const char *  name)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Remove specified OrganizationProperty

This operation removes a property of Organization from NVList of the OrganizationProperty. The property to be removed is specified by argument "name."

Parameters
nameThe name of the property to be removed.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe property that is specified by argument "name" does not exist.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual CORBA::Boolean SDOPackage::Organization_impl::set_dependency ( DependencyType  dependency)
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Set the DependencyType of the Organization

This operation sets the relationship "DependencyType" of the Organization. The value to be set is specified by argument "dependency."

Parameters
dependencyThe relationship of the Organization as DependencyType. DependencyType is defined in Section 2.2.2, "Data Structures Used by Resource Data Model," on page 2-3.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe argument "dependency" is null.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual CORBA::Boolean SDOPackage::Organization_impl::set_members ( const SDOList &  sdos)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Set SDO

This operation assigns a list of SDOs to an Organization as its members. If the Organization has already maintained a member SDO(s) when it is called, the operation replaces the member(s) with specified list of SDOs.

Parameters
sdosMember SDOs to be assigned.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe argument "SDOList" is null, or the object that is specified by the argument "sdos" does not exist.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.

Reimplemented in SDOPackage::PeriodicECOrganization.

virtual CORBA::Boolean SDOPackage::Organization_impl::set_organization_property_value ( const char *  name,
const CORBA::Any &  value 
)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Set specified value of OrganizationProperty

This operation adds or updates a pair of name and value as a property of Organization to/in NVList of the OrganizationProperty. The name and the value to be added/updated are specified by argument "name" and "value."

Parameters
nameThe name of the property to be added/updated.
valueThe value of the property to be added/updated.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe property that is specified by argument "name" does not exist.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.
virtual CORBA::Boolean SDOPackage::Organization_impl::set_owner ( SDOSystemElement_ptr  sdo)
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Set the owner to the Organization

This operation sets an SDOSystemElement to the owner of the Organization. The SDOSystemElement to be set is specified by argument "sdo."

Parameters
sdoReference of owner object.
Returns
If the operation was successfully completed.
Exceptions
SDONotExistsThe target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailableThe target SDO is reachable but cannot respond.
InvalidParameterThe argument "sdo" is null, or the object that is specified by "sdo" in argument "sdo" does not exist.
InternalErrorThe target SDO cannot execute the operation completely due to some internal error.

Member Data Documentation

SDOPackage::DependencyType SDOPackage::Organization_impl::m_dependency
protected

Dependency type.

This attribute specifies the dependency relation between the owner and members of the organization. Organization is used to form the following three patterns of topology.

  1. Hierarchical organization, which indicates owner supervises members. In this case, DependencyType should hold OWN value (see description of DependencyType on previous pages).
  2. Reversely hierarchical organization, which indicates members supervise owner. In this case, DependencyType should hold OWNED value (see description of DependencyType on previous pages).
  3. Flat organization, which indicates no dependency exists. In this case, DependencyType should hold NO_DEPENDENCY value (see description of DependencyType on previous pages).

Both an SDO and another subclass of SDOSystemElement can act as owner of an Organization. When an SDO is an owner, Organization can represent any of the above three topology patterns.

  • When an Organization represents topology pattern (1), an SDO (owner) controls one or more SDOs (members). For example, air conditioner (owner) controls a temperature sensor (member), humidity sensor (member), and wind flow controller (member).
  • When an Organization represents topology pattern (2), multiple SDOs(members) share an SDO (owner). For example, an amplifier (owner) is shared by several AV components (members) in an AV stereo.
  • When a subclass of SDOSystemElement, which is not an SDO is an owner examples of the topology are as follows. – User (owner)-SDO (members): When a user (owner) supervises one or more SDOs (members), the organization represents topology pattern 1. – Location (owner)-SDO (members): When one or more SDOs (members) are operating in a specific location (owner), the organization represents topology pattern 3. For example, multiple PDAs in the same place (e.g., a room) have equal relationships among them to communicate with each other.
SDOPackage::SDOList SDOPackage::Organization_impl::m_memberList
protected

A list of SDO members associated with the Organization.

Organization_var SDOPackage::Organization_impl::m_objref
protected
Mutex SDOPackage::Organization_impl::m_org_mutex
protected
SDOPackage::OrganizationProperty SDOPackage::Organization_impl::m_orgProperty
protected

Organization property.

OrganizationProperty contains the properties of an Organization. An Organization has zero or one (at most one) instance of OrganizationProperty.

std::string SDOPackage::Organization_impl::m_pId
protected

The identifier of the Organization.

SDOPackage::SDOSystemElement_var SDOPackage::Organization_impl::m_varOwner
protected

The owner of the Organization.

::RTC::Logger SDOPackage::Organization_impl::rtclog
protected

The documentation for this class was generated from the following file: