31 #ifndef GENAPI_COMMANDT_H 32 #define GENAPI_COMMANDT_H 34 #include "GenApi/impl/Log.h" 53 std::list<CNodeCallback*> CallbacksToFire;
56 typename Base::EntryMethodFinalizer E(
this,
meExecute );
64 typename Base::PostSetValueFinalizer PostSetValueCaller(
this, CallbacksToFire);
68 Base::InternalExecute(
Verify);
71 Base::InternalCheckError();
78 std::list<CNodeCallback*>::iterator ptrCallback;
79 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
86 std::list<CNodeCallback*>::iterator ptrCallback;
87 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
102 typename Base::EntryMethodFinalizer E(
this,
meIsDone );
105 bool FireCallbacks =
false;
109 std::list<CNodeCallback*> CallbacksToFire;
120 Result = Base::InternalIsDone(
Verify, FireCallbacks);
127 for ( NodePrivateVector_t::iterator it = Base::m_AllTerminalNodes.begin(); it != Base::m_AllTerminalNodes.end(); ++it )
129 (*it)->CollectCallbacksToFire(CallbacksToFire,
true);
135 #pragma BullseyeCoverage off 137 #pragma BullseyeCoverage on 142 std::list<CNodeCallback*>::iterator ptrCallback;
143 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
153 std::list<CNodeCallback*>::iterator ptrCallback;
154 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
Implementation of the ICommand interface.
virtual bool IsDone(bool Verify=true)
Query whether the command is executed.
#define ACCESS_EXCEPTION_NODE
Fires a access error exception, e.g. throw ACCESS_ERROR_EXCEPTION("Not everybody") ...
Invalidate the node and all of its dependents.
interface GENAPI_DECL_ABSTRACT bool Verify
#define GCLOGINFOPUSH(cat,...)
bool IsImplemented(EAccessMode AccessMode)
Tests if implemented.
virtual void Execute(bool Verify=true)
Execute the command.
A string class which is a clone of std::string.
bool IsWritable(EAccessMode AccessMode)
Tests if writable.
Definition of interface INodeMapPrivate.
#define GCLOGINFOPOP(cat,...)
Part of the generic device API.
callback is fired on leaving the tree inside the lock-guarded area
virtual void operator()()
Execute the command.
virtual CLock & GetLock() const =0
Returns the lock which guards the node map.
void DeleteDoubleCallbacks(std::list< CNodeCallback * > &CallbackList)
deletes double callbacks from list