VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/vrfObjectCommunicationInterface.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfObjectCommunicationInterface.h,v $ $Revision: 1.7 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef vrfObjectCommunicationInterface_h
00015 #define vrfObjectCommunicationInterface_h
00016 
00017 #include "vrfmsgs/msgExec.h"
00018 #include "vrfobjcore/vrfobjcoreDefines.h"
00019 #include "vrfmsgs/vrfObjectMessageExecutive.h"
00020 #include <list>
00021 
00022 class DtVrfObject;
00023 class DtSimMessage;
00024 class DtSimInternalCommunicationInterface;
00025 class DtVrfObjectMessageExecutive;
00026 class DtVrfRadio;
00027 class DtRadioDescriptorList;
00028 
00042 class DT_DLL_vrfobjcore DtVrfObjectCommunicationInterface
00043 {
00044 private:
00046    DtVrfObjectCommunicationInterface();
00048    DtVrfObjectCommunicationInterface(const DtVrfObjectCommunicationInterface& orig);
00050    DtVrfObjectCommunicationInterface& operator=(const DtVrfObjectCommunicationInterface& orig);
00051 
00052 public:
00059    static DtVrfObjectCommunicationInterface* create(DtVrfObject* vrfObject);
00060 
00061 protected:
00063    DtVrfObjectCommunicationInterface(DtVrfObject* vrfObject);
00065    virtual bool init();
00066 
00067 public:
00068    virtual ~DtVrfObjectCommunicationInterface();
00071    virtual void createRadiosFromDescriptorList();
00074    virtual void createRadiosFromDescriptorList(const DtRadioDescriptorList& descList);
00075 
00080    virtual void sendSimInternalMessage(DtVrfObjectMessage* message);
00081 
00087 
00088 
00089    virtual bool sendRadioMessage(const DtString& radioName, DtVrfObjectMessage* message);
00093    virtual bool sendRadioMessage(int radioId, DtVrfObjectMessage* message);
00096    virtual bool sendRadioMessage(DtVrfObjectMessage* message);
00098 
00102    virtual DtVrfRadio* lookupRadio(int radioId);
00105    virtual DtVrfRadio* lookupRadio(const DtString& radioName);
00108    virtual DtVrfRadio* defaultRadio();
00109 
00114    DtSimInternalCommunicationInterface* simInternalCommunicationInterface();
00115    
00119 
00120    virtual void addMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
00121    virtual void removeMessageCallback(DtVrfObjectMessageCallbackFcn fcn, void* usr);
00123 
00127 
00128    virtual void addMessageCallback(int type, DtVrfObjectMessageCallbackFcn fcn, void* usr);
00129    virtual void removeMessageCallback(int type, DtVrfObjectMessageCallbackFcn fcn, void* usr);
00131 
00137 
00138    virtual void addMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
00139    virtual void removeMessageCallbackByCategory(int category, DtVrfObjectMessageCallbackFcn fcn, void* usr);
00141 
00144    virtual void tick();
00145 
00146 protected:
00147 
00150 
00151    static void vrfObjectMessageCallback(const DtVrfObjectMessage* msg, void* usr);
00152    virtual void processVrfObjectMessage(const DtVrfObjectMessage* msg);
00154 
00155 protected:
00156    DtVrfObject* myVrfObject;
00157    DtVrfObjectMessageExecutive myMessageExecutive;
00158    DtSimInternalCommunicationInterface* mySimInternalInterface;
00159    
00160    typedef std::map<DtSymbolString, DtVrfRadio*> DtRadioMap;
00161    DtRadioMap myRadios;
00162    DtVrfRadio* myDefaultRadio;
00163 };
00164 
00165 #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)