VR-Forces 4.0.4 Class Documentation
include/vrfmodel/disaggregatedPatrolBetweenController.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2004 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: disaggregatedPatrolBetweenController.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00015 
00016 #ifndef disaggregatedPatrolBetweenController_H_
00017 #define disaggregatedPatrolBetweenController_H_
00018 
00019 #include "vrfobjcore/singleTaskControllerComponent.h"
00020 #include <vlutil/vlString.h>
00021 
00022 class DtSimMessage;
00023 class DtAggregatePatrolBetweenPSR;
00024 
00040 #include "vrfmodel/vrfmodelDefines.h"
00041 class DT_DLL_vrfmodel DtDisaggregatedPatrolBetweenController : public DtSingleTaskControllerComponent
00042 {
00043 public:
00044 
00047    DtDisaggregatedPatrolBetweenController(const DtString& name, 
00048       DtVrfObject* owner,
00049       DtSimManager* simManager, 
00050       DtComponentDescriptor* desc = 0,
00051       DtReaderWriterRegistry* parentRegistry = 0);
00052 
00053    virtual ~DtDisaggregatedPatrolBetweenController();
00054 
00056    virtual bool init();
00057 
00060    virtual DtString type() const;
00061 
00064    virtual void registerTaskMsgCallbacks();
00065 
00068    virtual void tick();
00069 
00071    virtual DtSimTaskStatePtr currentTaskState() const;
00072 
00077    static void patrolTwoPointsTaskCallback(DtSimMessage * msg, void * usr, DtSimTaskStatePtr taskStatePtr);
00078 
00082    static void taskCompleteReportCallback(DtSimMessage * msg, void * usr);
00083 
00087    static DtSimComponent * creator(const DtString& name, 
00088       DtVrfObject* owner,
00089       DtSimManager* simManager, 
00090       DtComponentDescriptor* desc = 0,
00091       DtReaderWriterRegistry* parentRegistry = 0);
00092 
00093 protected:
00094 
00099    virtual void onPatrolTwoPointsTask(DtSimMessage * msg, DtSimTaskStatePtr taskStatePtr);
00100 
00104    virtual void onTaskComplete(DtSimMessage * msg);
00105 
00113    virtual bool moveTo(const DtString& controlPointName);
00114 
00120    virtual bool createPSR();
00121 
00122 private:
00123 
00125    DtDisaggregatedPatrolBetweenController(const DtDisaggregatedPatrolBetweenController& orig);
00126 
00128    DtDisaggregatedPatrolBetweenController& operator=(const DtDisaggregatedPatrolBetweenController& orig);
00129 
00130 protected:
00131 
00134    DtAggregatePatrolBetweenPSR* myProcessState;
00135 
00137    bool myFirstTick;
00138 };
00139 
00140 #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)