![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: resourceMonitorInfo.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00015 00016 00017 #ifndef DtResourceMonitorInfo_H_ 00018 #define DtResourceMonitorInfo_H_ 00019 00020 #include "vrfobjcore/resourceCheckInfo.h" 00021 #include <vlutil/vlString.h> 00022 #include <vl/hostStructs.h> 00023 00024 #include <list> 00025 00026 class DtSimulationAddress; 00027 class DtSimManager; 00028 00029 typedef std::list<DtResourceCheckInfo> DtResourceCheckInfoList; 00030 00035 00036 #include "vrfobjcore/vrfobjcoreDefines.h" 00037 class DT_DLL_vrfobjcore DtResourceMonitorInfo 00038 { 00039 public: 00040 DtResourceMonitorInfo() {}; 00041 DtResourceMonitorInfo(const DtResourceMonitorInfo& orig); 00042 virtual ~DtResourceMonitorInfo() {}; 00043 00044 virtual DtResourceMonitorInfo& operator=(const DtResourceMonitorInfo&); 00045 00046 void setObjectIdentifier(const DtEntityIdentifier& id) { myObjectIdentifier = id; }; 00047 const DtEntityIdentifier& objectIdentifier() const { return myObjectIdentifier; }; 00048 00049 virtual void removeMonitorReference(const DtString& name, 00050 const DtSimulationAddress& addr); 00051 virtual void addMonitorReference(const DtString& resourceName, 00052 int iMonitorBy, const DtFloat64& dMonitorPeriod, const DtSimulationAddress& addr, 00053 DtSimManager* manager); 00054 const DtResourceCheckInfoList& monitorResources() const { return myMonitorResources; }; 00055 00059 virtual void removeAllMonitorReferencesTo(const DtSimulationAddress& simAddr); 00060 00065 virtual std::list<DtString> shouldPublishResources( 00066 double simTime, const DtString& echelonId, DtSimManager* simManager, bool force = false) const; 00067 00070 virtual void setNextPublicationPeriod(double simTime, const DtString& echelonId, 00071 DtSimManager* manager, const std::list<DtString>& publishedResources); 00072 00073 protected: 00074 DtEntityIdentifier myObjectIdentifier; 00075 DtResourceCheckInfoList myMonitorResources; 00076 }; 00077 00078 #endif