![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: orgMgrOp.h,v $ $Revision: 1.10 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef orgMgrOp_H_ 00009 #define orgMgrOp_H_ 00010 00013 00014 #include <vlutil/vlConfig.h> 00015 #include <vector> 00016 #include <vl/hostStructs.h> 00017 #include "vrfobjcore/vrfobjcoreDefines.h" 00018 #include "vrfobjcore/orgManager.h" 00019 #include "vrfutil/callbackList.h" 00020 00021 class DT_DLL_vrfobjcore DtOrgManagerOperation 00022 { 00023 private: 00025 DtOrgManagerOperation(const DtOrgManagerOperation& orig); 00027 DtOrgManagerOperation& operator=(DtOrgManagerOperation& orig); 00028 00029 public: 00030 DtOrgManagerOperation(); 00031 virtual ~DtOrgManagerOperation(); 00032 00033 virtual DtString type() const = 0; 00034 00040 virtual bool execute(DtOrganizationManager* orgMgr) = 0; 00041 00042 virtual void print(DtOrganizationManager* orgMgr) const; 00043 }; 00044 00049 class DT_DLL_vrfobjcore DtOrgManagerPendingOperation : public DtOrgManagerOperation 00050 { 00051 private: 00053 DtOrgManagerPendingOperation(const DtOrgManagerPendingOperation& orig); 00055 DtOrgManagerPendingOperation& operator=(DtOrgManagerPendingOperation& orig); 00056 00057 public: 00058 DtOrgManagerPendingOperation(); 00059 virtual ~DtOrgManagerPendingOperation(); 00060 00061 virtual void addCompletionCallback(DtOrganizationManagerCallbackFcn fcn, void* usr); 00062 virtual void removeCompletionCallback(DtOrganizationManagerCallbackFcn fcn, void* usr); 00063 00064 protected: 00066 virtual void invokeCompletionCallback(); 00067 00068 protected: 00070 DtNoArgumentCallbackList myCompletionCallbackList; 00071 }; 00072 00077 class DT_DLL_vrfobjcore DtOrgManagerSuperiorAddSubordinateOp : public DtOrgManagerOperation 00078 { 00079 private: 00081 DtOrgManagerSuperiorAddSubordinateOp(); 00082 00083 public: 00084 DtOrgManagerSuperiorAddSubordinateOp(const DtEntityIdentifier& subordinateId, 00085 const DtEntityIdentifier& superiorId, int designator); 00086 00087 virtual ~DtOrgManagerSuperiorAddSubordinateOp(); 00088 00090 virtual DtString type() const; 00091 00092 virtual bool execute(DtOrganizationManager* orgMgr); 00093 00094 virtual void print(DtOrganizationManager* orgMgr) const; 00095 00096 protected: 00097 DtEntityIdentifier mySubordinateId; 00098 DtEntityIdentifier mySuperiorId; 00099 int myDesignator; 00100 00101 }; 00102 00107 class DT_DLL_vrfobjcore DtOrgManagerSuperiorRemoveSubordinateOp : public DtOrgManagerOperation 00108 { 00109 private: 00111 DtOrgManagerSuperiorRemoveSubordinateOp(); 00112 00113 public: 00114 DtOrgManagerSuperiorRemoveSubordinateOp(const DtEntityIdentifier& subordinateId, 00115 const DtEntityIdentifier& superiorId); 00116 00117 virtual ~DtOrgManagerSuperiorRemoveSubordinateOp(); 00118 00120 virtual DtString type() const; 00121 00122 virtual bool execute(DtOrganizationManager* orgMgr); 00123 00124 virtual void print(DtOrganizationManager* orgMgr) const; 00125 00126 protected: 00127 DtEntityIdentifier mySubordinateId; 00128 DtEntityIdentifier mySuperiorId; 00129 }; 00130 00135 class DT_DLL_vrfobjcore DtOrgManagerSubordinateAttachToForceOp : public DtOrgManagerOperation 00136 { 00137 private: 00139 DtOrgManagerSubordinateAttachToForceOp(); 00140 00141 public: 00142 DtOrgManagerSubordinateAttachToForceOp(const DtEntityIdentifier& subordinateId, 00143 int designator); 00144 00145 virtual ~DtOrgManagerSubordinateAttachToForceOp(); 00146 00148 virtual DtString type() const; 00149 00150 virtual bool execute(DtOrganizationManager* orgMgr); 00151 00152 virtual void print(DtOrganizationManager* orgMgr) const; 00153 00154 protected: 00155 DtEntityIdentifier mySubordinateId; 00156 int myDesignator; 00157 }; 00158 00163 class DT_DLL_vrfobjcore DtOrgManagerSubordinateDetatchToForceOp : public DtOrgManagerOperation 00164 { 00165 private: 00167 DtOrgManagerSubordinateDetatchToForceOp(); 00168 00169 public: 00170 DtOrgManagerSubordinateDetatchToForceOp(const DtEntityIdentifier& subordinateId); 00171 00172 virtual ~DtOrgManagerSubordinateDetatchToForceOp(); 00173 00175 virtual DtString type() const; 00176 00177 virtual bool execute(DtOrganizationManager* orgMgr); 00178 00179 virtual void print(DtOrganizationManager* orgMgr) const; 00180 00181 protected: 00182 DtEntityIdentifier mySubordinateId; 00183 }; 00184 00185 00189 class DT_DLL_vrfobjcore DtOrgManagerSetSuperiorPendingOp : public DtOrgManagerPendingOperation 00190 { 00191 private: 00193 DtOrgManagerSetSuperiorPendingOp(); 00194 00195 public: 00196 DtOrgManagerSetSuperiorPendingOp(const DtString& subordinateName, 00197 const DtString& superiorName, int designator); 00198 00199 virtual ~DtOrgManagerSetSuperiorPendingOp(); 00200 00202 virtual DtString type() const; 00203 00204 virtual bool execute(DtOrganizationManager* orgMgr); 00205 00206 virtual void print(DtOrganizationManager* orgMgr) const; 00207 00208 protected: 00209 DtString mySubordinateName; 00210 DtString mySuperiorName; 00211 int myDesignator; 00212 bool myWaitingCompletion; 00213 }; 00214 00218 class DT_DLL_vrfobjcore DtOrgManagerSetSuperiorToForcePendingOp : public DtOrgManagerPendingOperation 00219 { 00220 private: 00222 DtOrgManagerSetSuperiorToForcePendingOp(); 00223 00224 public: 00225 DtOrgManagerSetSuperiorToForcePendingOp(const DtString& subordinateName, 00226 int designator); 00227 00228 virtual ~DtOrgManagerSetSuperiorToForcePendingOp(); 00229 00231 virtual DtString type() const; 00232 00233 virtual bool execute(DtOrganizationManager* orgMgr); 00234 00235 virtual void print(DtOrganizationManager* orgMgr) const; 00236 00237 const DtString subordinateName() const; 00238 00239 protected: 00240 DtString mySubordinateName; 00241 int myDesignator; 00242 bool myWaitingCompletion; 00243 00244 }; 00245 00247 class DT_DLL_vrfobjcore DtOrgManagerSetSubordinateOrderOp : public DtOrgManagerOperation 00248 { 00249 private: 00251 DtOrgManagerSetSubordinateOrderOp(); 00252 00253 public: 00254 DtOrgManagerSetSubordinateOrderOp(const DtEntityIdentifier& superiorId, 00255 const std::vector<DtEntityIdentifier>& orderedSubordinateList); 00256 00257 virtual ~DtOrgManagerSetSubordinateOrderOp(); 00258 00260 virtual DtString type() const; 00261 00262 virtual bool execute(DtOrganizationManager* orgMgr); 00263 00264 virtual void print(DtOrganizationManager* orgMgr) const; 00265 00266 protected: 00267 DtEntityIdentifier mySuperiorId; 00268 std::vector<DtEntityIdentifier> myOrderedSubordinateList; 00269 }; 00270 00271 #endif