![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: resourceCheckInfo.h,v $ $Revision: 1.5 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00015 00016 00017 #ifndef DtResourceCheckInfo_H_ 00018 #define DtResourceCheckInfo_H_ 00019 00020 #include <vlutil/vlMachineTypes.h> 00021 #include <vlutil/vlString.h> 00022 00023 class DtSimCondExpr; 00024 class DtSimManager; 00025 00026 #include <list> 00027 00032 00033 00034 #include "vrfobjcore/vrfobjcoreDefines.h" 00035 class DT_DLL_vrfobjcore DtResourceCheckInfo 00036 { 00037 public: 00038 DtResourceCheckInfo(); 00039 DtResourceCheckInfo(const DtResourceCheckInfo& orig); 00040 00041 virtual ~DtResourceCheckInfo(); 00042 00043 virtual DtResourceCheckInfo& operator=(const DtResourceCheckInfo&); 00044 00045 void setResourceName(const DtString& name) { myResourceName = name; }; 00046 const DtString& resourceName() const { return myResourceName; }; 00047 00048 virtual void removeRequestor(const DtString& name); 00049 const std::list<DtString>& requestors() const { return myRequestors; }; 00050 00053 virtual void setPublishCondition(int iMonitoryBy, 00054 const DtFloat64& dMonitorPeriod, DtSimManager* manager); 00055 00057 virtual void addRequestor(const DtString& req); 00058 00062 virtual bool shouldPublish(double simTime, 00063 const DtString& echelonId, DtSimManager* manager) const; 00064 00073 virtual void setNextPublicationPeriod(double simTime, const DtString& echelonId, 00074 DtSimManager* manager); 00075 00076 protected: 00081 virtual void createSimTimeExpression(const DtFloat64& dMonitorPeriod); 00082 00087 virtual void updateSimTimeExpression(double simTime, const DtString& echelonId, 00088 DtSimManager* manager); 00089 00090 protected: 00091 DtString myResourceName; 00092 std::list<DtString> myRequestors; 00093 DtFloat64 myMonitorPeriod; 00094 DtSimCondExpr* myPublishCondition; 00095 }; 00096 00097 #endif