Public Member Functions | Private Member Functions | Private Attributes | Friends

Door Class Reference
[ACS Components Examples]

#include <acsexmplDoorImpl.h>

Inheritance diagram for Door:
Inheritance graph
[legend]
Collaboration diagram for Door:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Door (const ACE_CString &name, maci::ContainerServices *containerServices)
virtual ~Door ()
virtual baci::ActionRequest invokeAction (int function, baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
virtual baci::ActionRequest openAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
virtual baci::ActionRequest closeAction (baci::BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, baci::BACIValue *value_p, Completion &completion, CBDescOut &descOut)
virtual void open (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc)
virtual void close (ACS::CBvoid_ptr cb, const ACS::CBDescIn &desc)
virtual void move (CORBA::Double pos)
virtual ACS::ROdouble_ptr position ()
virtual ACS::RWdouble_ptr ref_position ()
virtual ACS::ROlong_ptr substate ()
virtual ACS::ROstring_ptr version ()
virtual void execute ()

Private Member Functions

virtual void checkSubstate (CompletionImpl *&error_p)
void operator= (const Door &)

Private Attributes

baci::SmartPropertyPointer
< baci::RWdouble
m_ref_position_sp
baci::SmartPropertyPointer
< baci::ROdouble
m_position_sp
baci::SmartPropertyPointer
< baci::ROlong
m_substate_sp
baci::SmartPropertyPointer
< baci::ROstring
m_version_sp
DoorThreadm_doorThread_p

Friends

void DoorThread::runLoop ()

Detailed Description

Door is a simple component that utilizes just about every ACS API. This class implements an example device "Door". It provides both synchronous (move(...)) and asynchronous methods (open() and close()). A control loop thread simulates the door's movements. Error and exception handling have been included. Asynchronous calls are implemented using the callback pattern via a support class. For each xxx action defined in the IDL interface two methods are provided:


Friends And Related Function Documentation

void DoorThread::runLoop (  )  [friend]

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