Public Member Functions

baci::ActionImplementator Class Reference

#include <baciBACIAction.h>

Inheritance diagram for baci::ActionImplementator:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ActionRequest invokeAction (int function, BACIComponent *component_p, const int &callbackID, const CBDescIn &descIn, BACIValue *value, Completion &completion, CBDescOut &descOut)=0
virtual ~ActionImplementator ()

Detailed Description

Abstract class which every Action caller must implement Direct call is not possbile because method is a member of a class (pointer to member function is actually a class offset)

Author:
Matej Sekoranja, Jozef Stefan Institute, Slovenia

Constructor & Destructor Documentation

virtual baci::ActionImplementator::~ActionImplementator (  )  [inline, virtual]

Member Function Documentation

virtual ActionRequest baci::ActionImplementator::invokeAction ( int  function,
BACIComponent component_p,
const int &  callbackID,
const CBDescIn descIn,
BACIValue value,
Completion completion,
CBDescOut descOut 
) [pure virtual]

Action dispatcher function

Parameters:
function action funtion to be invoked
Decleraton example of function:

    ActionRequest someAction(BACIComponent* component_p, int callbackID, 
			         const CBDescIn& descIn, BACIValue* value, 
			         Completion& completion, CBDescOut& descOut);
 
component_p owner of the action
callbackID id of the callback to be notified
descIn callback descriptor (passed by client)
value action data (e.g. value to be set)
error error handing structure
descOut callback descriptor which will be passed to client
Returns:
request to be performed by BACI
  • reqNone - do nothing (action will be kept in queue)
  • reqInvokeWorking - invoke <type>Callback::working
  • reqInvokeDone - invoke <type>Callback::done and destroy callback
  • reqDestroy - destroy callback (callback should has been called already by function)

Implemented in Mount4Impl, Door, FilterWheel, Lamp, LampWheel, Mount, PowerSupply, RampedPowerSupply, SlowMount, baci::PcommonImpl< ACS_P_C >, baci::RWcommonImpl< ACS_RW_C >, BaciTestClassImpl, ROEnumImpl< ACS_ENUM_C >, RWEnumImpl< ACS_ENUM_C >, baci::PcommonImpl< ACS_P_TL >, baci::RWcommonImpl< ACS_RW_TL >, ROEnumImpl< ACS_ENUM_T(T), SK >, ROEnumImpl< ACS_ENUM_T(ENUMPROP_TEST::States), POA_ENUMPROP_TEST::ROStates >, and RWEnumImpl< ACS_ENUM_T(ENUMPROP_TEST::States), POA_ENUMPROP_TEST::RWStates >.


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