VR-Forces 4.0.4 Class Documentation
include/vrfmodel/spotReportGenerator.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: spotReportGenerator.h,v $ $Revision: 1.16 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef spotReportGenerator_H_
00016 #define spotReportGenerator_H_
00017 
00018 #include "vrfobjcore/cntrlCmpnt.h"
00019 #include "vrfobjcore/entityTargetInformation.h"
00020 #include <list>
00021 #include "vrfmodel/vrfmodelDefines.h"
00022 
00023 class DtSpotReportGeneratorControllerDescriptor;
00024 class DtSensorContactListInputPort;
00025 class DtObjectTypesListOutputPort;
00026 class DtRwSensorContactInfo;
00027 class DtSpotReportGeneratorControllerPSR;
00028 class DtSpotReport;
00029 class DtSimMessage;
00030 class DtVrfObjectMessage;
00031 class DtSettingsObject;
00032 class DtBoolSetting;
00033 
00051 class DT_DLL_vrfmodel DtSpotReportGeneratorController : public DtControllerComponent
00052 {
00053 private:
00055    DtSpotReportGeneratorController();
00057    DtSpotReportGeneratorController(const DtSpotReportGeneratorController& orig);
00059    DtSpotReportGeneratorController& operator=(
00060       const DtSpotReportGeneratorController& orig);
00061 public:
00062 
00065    DtSpotReportGeneratorController(const DtString& name, DtVrfObject* owner, 
00066       DtSimManager* simManager, DtComponentDescriptor* desc=0, 
00067       DtReaderWriterRegistry *parentRegistry=0);
00068 
00070    virtual ~DtSpotReportGeneratorController();
00071 
00075    virtual bool init();
00076 
00079    virtual DtString type() const;
00080 
00084    virtual void tick();
00085 
00087    static void setSpotReportingCallback(DtSimMessage * msg, void * usr);
00088 
00089    virtual void processSetSpotReporting(DtSimMessage * msg);
00090 
00094    virtual void setLocalEnabled(bool on);
00095 
00103    virtual void setGlobalEnabledOverridingLocal();
00104 
00108    static DtSimComponent * creator(const DtString& name, 
00109       DtVrfObject* owner,
00110       DtSimManager* simManager, 
00111       DtComponentDescriptor* desc = 0,
00112       DtReaderWriterRegistry* parentRegistry = 0);
00113 
00114 protected:
00115 
00120    virtual void turnSpotReportingOn();
00121    virtual void turnSpotReportingOff();
00123 
00125    virtual bool createPorts();
00126 
00132    virtual bool createPSR();
00133 
00135    virtual void registerRadioMessageCallbacks();
00136 
00147    virtual void generateAndSendSpotReports();
00148 
00153    virtual DtSpotReport* createSpotReportForContact(
00154       const DtRwSensorContactInfo& contactInfo);
00155 
00157    virtual void updateSpotReportForContact(DtSpotReport& spotReport, 
00158       const DtRwSensorContactInfo& contact);
00159 
00164    virtual void sendSpotReport(DtSpotReport& spotReport, bool superiorOnly);
00165 
00171    virtual bool spotReportNeedsUpdateAndResend(const DtSpotReport& spotRep,
00172       const DtRwSensorContactInfo& contact);
00173 
00180    virtual DtString spotReportTypeString() const;
00181 
00185    static void settingConsumerCallback(const DtSettingsObject* settingsObject,
00186       void* usr);
00189    virtual void readGlobalEnabledSetting(const DtBoolSetting* enabledSetting);
00190    
00193 
00194    static void hostilitiesChangedCallback(DtU8 force, void* usr);
00195    virtual void processHostilitiesChanged(DtU8 force);
00197 
00202    virtual bool reportingEnabled() const;
00203    
00204 protected:
00205 
00214 
00215 
00216 
00217 
00218 
00219 
00220 
00221    DtObjectTypesListOutputPort*  myTypesToDetectOutputPort;
00223 
00225    const DtSpotReportGeneratorControllerDescriptor* myDescriptor;
00226 
00229    DtSpotReportGeneratorControllerPSR* myProcessState;
00230 
00231    int myCurrentForceType; 
00232    DtSensorContactInfoListChangeMonitor myContactListMonitor;
00233 
00236    bool myHostilitiesChangeFlag;
00237 
00240    bool myGlobalEnabled;
00241 };
00242 
00243 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)