![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: orgChangeSetExecutorOperation.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef orgChangeSetExecutorOperation_h 00015 #define orgChangeSetExecutorOperation_h 00016 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include "vrfobjcore/orgMgrOp.h" 00019 #include "vrfobjcore/orgManager.h" 00020 #include "vrfobjcore/organizationChangeSet.h" 00021 00025 class DT_DLL_vrfobjcore DtOrgChangeSetExecutorOperation : public DtOrgManagerPendingOperation 00026 { 00027 private: 00029 DtOrgChangeSetExecutorOperation(const DtOrgChangeSetExecutorOperation& orig); 00031 DtOrgChangeSetExecutorOperation& operator=(const DtOrgChangeSetExecutorOperation& orig); 00032 00033 public: 00034 DtOrgChangeSetExecutorOperation(const DtOrganizationChangeSet& changeSet); 00035 virtual ~DtOrgChangeSetExecutorOperation(); 00036 00038 virtual DtString type() const; 00039 00040 virtual bool execute(DtOrganizationManager* orgMgr); 00042 virtual bool complete() const; 00043 00044 virtual void setId(int id); 00045 virtual int id() const; 00046 00047 protected: 00049 static void singleChangeCompleteCallback(void* usr); 00050 virtual void processSingleChangeComplete(unsigned int changeId); 00051 00054 virtual void queueAllChanges(DtOrganizationManager* orgMgr); 00055 00056 protected: 00057 typedef std::pair<unsigned int, DtOrgChangeSetExecutorOperation*> DtIdExecutorPair; 00061 std::list<unsigned int> myPendingChangeIdList; 00062 00065 bool myAllChangesQueued; 00066 00067 DtOrganizationChangeSet myChangeSet; 00068 00069 int myId; 00070 }; 00071 00072 #endif