VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/simInternalCommunicationManager.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: simInternalCommunicationManager.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef simInternalCommunicationManager_h
00015 #define simInternalCommunicationManager_h
00016 
00017 #include "vrfobjcore/vrfobjcoreDefines.h"
00018 #include <list>
00019 #include "vrfmsgs/vrfObjectMessage.h"
00020 #include <deque>
00021 
00022 class DtSimManager;
00023 class DtSimInternalCommunicationInterface;
00024 class DtVrfObject;
00025 
00033 class DT_DLL_vrfobjcore DtSimInternalCommunicationManager
00034 {
00035 private:
00037    DtSimInternalCommunicationManager();
00039    DtSimInternalCommunicationManager(const DtSimInternalCommunicationManager& orig);
00041    DtSimInternalCommunicationManager& operator=(const DtSimInternalCommunicationManager& orig);
00042 
00043 public:
00046    static DtSimInternalCommunicationManager* create(DtSimManager* simMgr);
00047 
00048 protected:
00050    DtSimInternalCommunicationManager(DtSimManager* simMgr);
00052    virtual bool init();
00053 
00054 public:
00055    virtual ~DtSimInternalCommunicationManager();
00056 
00060 
00061    virtual void registerCommunicationInterface(DtSimInternalCommunicationInterface* commIf);
00062    virtual void unregisterCommunicationInterface(DtSimInternalCommunicationInterface* commIf);
00064 
00067    virtual void deliverMessage(const DtVrfObjectMessage* message);
00068 
00070    virtual void tick();
00071 
00072 protected:
00074 
00075    static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
00076    virtual void processDeliverRadioMessage(DtSimMessage* msg);
00078 
00081    virtual void deliverMessageLocally(const DtVrfObjectMessage* message);
00082 
00085    virtual void deliverMessageRemotely(const DtVrfObjectMessage* message);
00086 
00088    virtual bool objectShouldReceiveMessage(DtVrfObject* vrfObj, const DtVrfObjectMessage* msg);
00089 
00090 protected:
00091 
00092    DtSimManager* mySimManager;
00093    typedef std::list<DtSimInternalCommunicationInterface*> DtCommInterfaceList;
00094    DtCommInterfaceList myCommInterfaceList;
00095 
00096    typedef std::deque<DtVrfObjectMessage*> DtMessageDeque;
00098    DtMessageDeque myMessagesToDeliver;
00099 };
00100 
00101 #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)