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);
66 Base::InternalExecute(
Verify);
68 if (
Verify && Base::m_Status != Base::statusBusy)
69 Base::InternalCheckError();
74 std::list<CNodeCallback*>::iterator ptrCallback;
75 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
82 std::list<CNodeCallback*>::iterator ptrCallback;
83 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
98 typename Base::EntryMethodFinalizer E(
this,
meIsDone );
101 bool FireCallbacks =
false;
105 std::list<CNodeCallback*> CallbacksToFire;
116 Result = Base::InternalIsDone(
Verify, FireCallbacks);
123 for ( NodePrivateVector_t::iterator it = Base::m_AllTerminalNodes.begin(); it != Base::m_AllTerminalNodes.end(); ++it )
125 (*it)->CollectCallbacksToFire(CallbacksToFire,
true);
130 #pragma BullseyeCoverage off 132 #pragma BullseyeCoverage on 137 std::list<CNodeCallback*>::iterator ptrCallback;
138 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
148 std::list<CNodeCallback*>::iterator ptrCallback;
149 for( ptrCallback = CallbacksToFire.begin(); ptrCallback != CallbacksToFire.end(); ptrCallback++ )
Implementation of the ICommand interface.
GENICAM_INTERFACE GENAPI_DECL_ABSTRACT bool Verify
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") ...
#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,...)
Lexical analyzer for CIntSwissKnife.
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