Classes | Public Member Functions | Protected Attributes | Private Types | 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]

Classes

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

Public Member Functions

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

Protected Attributes

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

Private Types

typedef coil::Guard< MutexGuard
 
typedef coil::Mutex 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

Definition at line 74 of file SdoOrganization.h.

Member Typedef Documentation

Definition at line 79 of file SdoOrganization.h.

Definition at line 78 of file SdoOrganization.h.

Constructor & Destructor Documentation

SDOPackage::Organization_impl::Organization_impl ( SDOSystemElement_ptr  sdo)

Constructor.

Constructor

Definition at line 52 of file SdoOrganization.cpp.

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

Virtual destructor.

Virtual Virtual destructor

Definition at line 72 of file SdoOrganization.cpp.

Member Function Documentation

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

[CORBA interface] Add the member SDOs

[CORBA interface] Add the member of SDO

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.

Definition at line 338 of file SdoOrganization.cpp.

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.

Definition at line 154 of file SdoOrganization.cpp.

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.

Definition at line 406 of file SdoOrganization.cpp.

SDOList * SDOPackage::Organization_impl::get_members ( )
throw (CORBA::SystemException,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get the member list of the Organization

[CORBA interface] Get the member 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.

Definition at line 288 of file SdoOrganization.cpp.

char * SDOPackage::Organization_impl::get_organization_id ( )
throw (CORBA::SystemException,
InvalidParameter,
NotAvailable,
InternalError
)
virtual

[CORBA interface] Get Organization ID

[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.

Definition at line 83 of file SdoOrganization.cpp.

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.

Definition at line 98 of file SdoOrganization.cpp.

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.

Definition at line 117 of file SdoOrganization.cpp.

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.

Definition at line 247 of file SdoOrganization.cpp.

Organization_ptr SDOPackage::Organization_impl::getObjRef ( void  )
inline

Definition at line 705 of file SdoOrganization.h.

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.

Definition at line 365 of file SdoOrganization.cpp.

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.

Definition at line 215 of file SdoOrganization.cpp.

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.

Definition at line 421 of file SdoOrganization.cpp.

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.

Definition at line 312 of file SdoOrganization.cpp.

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.

Definition at line 180 of file SdoOrganization.cpp.

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.

Definition at line 262 of file SdoOrganization.cpp.

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.

Definition at line 811 of file SdoOrganization.h.

SDOPackage::SDOList SDOPackage::Organization_impl::m_memberList
protected

A list of SDO members associated with the Organization.

Definition at line 726 of file SdoOrganization.h.

Organization_var SDOPackage::Organization_impl::m_objref
protected

Definition at line 709 of file SdoOrganization.h.

Mutex SDOPackage::Organization_impl::m_org_mutex
protected

Definition at line 832 of file SdoOrganization.h.

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.

Definition at line 831 of file SdoOrganization.h.

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

The identifier of the Organization.

Definition at line 717 of file SdoOrganization.h.

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

The owner of the Organization.

Definition at line 735 of file SdoOrganization.h.

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

Definition at line 705 of file SdoOrganization.h.


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


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Jun 6 2019 19:26:05