VR-Forces 4.0.4 Class Documentation
include/vrfVrlSharedSource/DtVrfEmbarkationProcessor.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrfEmbarkationProcessor.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #pragma once
00014 
00015 #include <vrfVrlSharedSource/DtVrfDriver.h>
00016 
00017 #include <vrvUtil/DtSignalConnectionManager.h>
00018 #include <vrvVrl/DtVrlinkConnection.h>
00019 #include <vrvCore/DtVisualizerCreationSettings.h>
00020 
00021 namespace makVrv
00022 {
00023    class DtElementIDHierarchyNode;
00024 
00025    namespace DT_PROTOCOL_NAMESPACE
00026    {
00027       class DtVrlinkEntityStateListener;
00028       class DtEntityElement;
00029       class DtVrlinkAggregateStateListener;
00030       class DtAggregateElement;
00031       class DtVrlinkEnvironmentalStateListenerInterface;
00032       class DtTacticalGraphicElement;
00033    }
00034 }
00035 
00036 namespace makVrf 
00037 {
00038    namespace VRF_PROTOCOL_NAMESPACE
00039    {
00040       class DtVrfEmbarkationHierarchy;
00041 
00043       class VRF_PROTOCOL_EXPORT DtVrfEmbarkationProcessor
00044       {
00045       public:
00047          DtVrfEmbarkationProcessor(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim);
00048 
00050          virtual ~DtVrfEmbarkationProcessor();
00051 
00052       protected:
00053          virtual void slot_hierarchyItemModified(makVrv::DtElementIDHierarchyNode* node);
00054 
00055       protected:
00056          virtual void slot_entityElementCreated(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener&,
00057             makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElement*);
00058          virtual void slot_entityElementAboutToBeDestroyed(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener&,
00059             makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElement*);
00060          virtual void setEntityHostGlobalId(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener*, const std::string& hostGlobalId);
00061 
00062       protected:
00063          virtual void slot_aggregateElementCreated(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener&,
00064             makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateElement*);
00065          virtual void slot_aggregateElementAboutToBeDestroyed(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener&,
00066             makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateElement*);
00067          virtual void setAggregateHostGlobalId(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener*, const std::string& hostGlobalId);
00068 
00069       protected:
00070          virtual void slot_tacticalGraphicElementCreated(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface&,
00071             makVrv::DT_PROTOCOL_NAMESPACE::DtTacticalGraphicElement*);
00072          virtual void slot_tacticalGraphicElementAboutToBeDestroyed(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface&,
00073             makVrv::DT_PROTOCOL_NAMESPACE::DtTacticalGraphicElement*);
00074          virtual void setTacticalGraphicHostGlobalId(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEnvironmentalStateListenerInterface*,
00075             const std::string& hostGlobalId);
00076 
00077       protected:
00080          virtual void embark(makVrv::DtElementID, const std::string& hostGlobalId, int flags = 0);
00081 
00083          virtual void disembark(makVrv::DtElementID, int flags = 0);
00084 
00087          virtual makVrv::DtElementID mapHostGlobalIdToElementId(makVrv::DtElementID id, const std::string& hostGlobalId, int flags = 0);
00088 
00090          virtual void checkWaitingFor(const std::string& globalId, makVrv::DtElementID id);
00091 
00093          virtual void removeFromWatchList(makVrv::DtElementID id);
00094 
00095       protected:
00096          makVrv::DtSignalConnectionManager myConnections;
00097 
00098          makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& mySimulation;
00099 
00100          DtVrfEmbarkationHierarchy& myEmbarkationHierarchy;
00101 
00102          typedef std::pair<makVrv::DtElementID, int> WatchPair;
00103          typedef std::map<std::string, WatchPair> WatchList;
00104 
00105          WatchList myWatchList;
00106       };
00107    }
00108 }

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)