SDOPackage::Organization_impl Class Reference

Organization implementation class. More...

#include <SdoOrganization.h>

Inheritance diagram for SDOPackage::Organization_impl:
SDOPackage::PeriodicECOrganization

List of all members.

Classes

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

Public Member Functions

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

Protected Attributes

::RTC::Logger rtclog
Organization_var m_objref
std::string m_pId
 The identifier of the Organization.
SDOPackage::SDOList m_memberList
 A list of SDO members associated with the Organization.
SDOPackage::SDOSystemElement_var m_varOwner
 The owner of the Organization.
SDOPackage::DependencyType m_dependency
 Dependency type.
SDOPackage::OrganizationProperty m_orgProperty
 Organization property.
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_list The member to be added to the organization.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The argument "sdo" is null.
InternalError The 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_property The type of organization to be added.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
InvalidParameter The argument "organizationProperty" is null.
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
name The name of the value to be returned.
Returns:
The value of property which is specified by argument "name".
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
InvalidParameter There are no Property stored with argument "name".
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InternalError The 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:
id Id of the SDO to be removed from the organization.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The argument "id" is null or does not exist.
InternalError The 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:
name The name of the property to be removed.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The property that is specified by argument "name" does not exist.
InternalError The 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:
dependency 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.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The argument "dependency" is null.
InternalError The 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:
sdos Member SDOs to be assigned.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The argument "SDOList" is null, or the object that is specified by the argument "sdos" does not exist.
InternalError The 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:
name The name of the property to be added/updated.
value The value of the property to be added/updated.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The property that is specified by argument "name" does not exist.
InternalError The 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:
sdo Reference of owner object.
Returns:
If the operation was successfully completed.
Exceptions:
SDONotExists The target SDO does not exist.(This exception is mapped to CORBA standard system exception OBJECT_NOT_EXIST.)
NotAvailable The target SDO is reachable but cannot respond.
InvalidParameter The argument "sdo" is null, or the object that is specified by "sdo" in argument "sdo" does not exist.
InternalError The 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]
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.

Generated on Fri Oct 28 18:31:19 2016 for OpenRTM-aist by  doxygen 1.6.3