![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: missileDistractionPSR.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ** Created: 6/2/11 MEM 00008 *******************************************************************************/ 00009 00012 00013 #pragma once 00014 00015 #include "vrfobjcore/processSR.h" 00016 #include "vrfutil/rwBoolean.h" 00017 #include "vrfutil/rwStringList.h" 00018 #include <set> 00019 00024 00025 #include "vrfobjcore/vrfobjcoreDefines.h" 00026 class DT_DLL_vrfobjcore DtMissileDistractionPSR : public DtVrfProcessStateRepository 00027 { 00028 public: 00029 00031 DtMissileDistractionPSR(DtVrfObject* vrfObject, 00032 const DtString& rwName = DtString::nullString(), 00033 DtReaderWriterRegistry* parentRegistry = 0); 00034 00036 DtMissileDistractionPSR(const DtMissileDistractionPSR& orig, 00037 const DtString& rwName = DtString::nullString(), 00038 DtReaderWriterRegistry* parentRegistry = 0); 00039 00041 virtual ~DtMissileDistractionPSR(); 00042 00044 DtMissileDistractionPSR& operator=(const DtMissileDistractionPSR& orig); 00045 00047 virtual DtVrfProcessStateRepository* clone( 00048 const DtString& rwName = DtString::nullString(), 00049 DtReaderWriterRegistry* parentRegistry = 0) const; 00050 00052 virtual DtString type() const; 00053 00055 virtual bool init(); 00056 00059 virtual void setAmDistracted(bool fooled); 00060 virtual bool amDistracted() const; 00061 00064 virtual const std::set<DtString>& verifiedDistractionsList() const; 00065 00067 virtual bool findCounterMeasure(const DtString & objectName) const; 00068 00069 virtual void addCounterMeasure(const DtString& objectName); 00070 00071 virtual void removeCounterMeasure(const DtString& objectName); 00072 00074 virtual void clearVerifiedDistractionsList(); 00075 00081 virtual void putSelf(FILE *fp, int indentLevel = 0, 00082 bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath()); 00083 00086 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00087 const DtVariableBindingsList& variableBindings); 00088 00089 public: 00090 00092 static DtVrfProcessStateRepository* creator (const DtString& rwName, 00093 DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry); 00094 00095 00096 protected: 00097 00101 DtRwBoolean myAmDistracted; 00104 std::set<DtString> myVerifiedDistractionsList; 00105 DtRwStringList mySerializableVerifiedDistractionsList; 00106 }; 00107