VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/compatibilityRadio.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: compatibilityRadio.h,v $ $Revision: 1.5 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef compatibilityRadio_h
00015 #define compatibilityRadio_h
00016 
00017 #include "vrfobjcore/baseRadio.h"
00018 #include "vrfobjcore/vrfobjcoreDefines.h"
00019 #include "vrfmsgs/vrfObjectMessage.h"
00020 #include "vrfmsgs/radioMsg.h"
00021 
00022 
00033 class DT_DLL_vrfobjcore DtCompatibilityRadio : public DtSimBaseRadio
00034 {
00035 public:
00037    DtCompatibilityRadio(DtVrfObject * vrfObject);
00038 
00040    virtual ~DtCompatibilityRadio();
00041 
00042 private:
00044    DtCompatibilityRadio();
00046    DtCompatibilityRadio(const DtCompatibilityRadio& orig);
00048    DtCompatibilityRadio & operator=(const DtCompatibilityRadio & orig);
00049 
00050 public:
00051    virtual bool init();
00052 
00054    virtual bool isCommand() const;
00055 
00057 
00058    virtual void sendToNet(DtSimRadioMessage * msg);
00059    virtual void sendToCommandNet(DtSimRadioMessage* msg);
00060    virtual void sendToAllNets(DtSimRadioMessage* msg);
00062 
00064 
00065    virtual void setCommandChannel(int v) {};
00066    virtual int commandChannel() const {return 0;}
00068 
00070    virtual bool isLocal() const;
00071 
00073    virtual DtString type() const;
00074 
00076 
00077    virtual void addRadioMessageCallback(int type, 
00078       DtMessageCallbackFcn fcn, void* usrData);
00079 
00080    virtual void removeRadioMessageCallback(int type, 
00081       DtMessageCallbackFcn fcn, void* usrData);
00083 
00085    virtual void addCommandRadioMessageCallback(int type, 
00086       DtMessageCallbackFcn fcn, void* usrData);
00088    virtual void removeCommandRadioMessageCallback(int type, 
00089       DtMessageCallbackFcn fcn, void* usrData);
00090 
00092 
00093    virtual void addTaskMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00094    virtual void removeTaskMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00096 
00098 
00099    virtual void addSetDataMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00100    virtual void removeSetDataMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00102 
00104 
00105    virtual void addReportMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00106    virtual void removeReportMessageCallback(DtMessageCallbackFcn fcn, void* usrData);
00108 
00109    static DtSimBaseRadio* create(DtVrfObject* vrfObject, DtVrfObjectManager* objManager);
00110 
00112    static DtCompatibilityRadio* isCommandChannelRadio(DtSimBaseRadio* radio); 
00113      
00114 
00115 protected:
00116    typedef std::pair<DtMessageCallbackFcn, void*> DtOldStyleCallbackInfo;
00117 
00120    static void oldStyleConverterCallback(const DtVrfObjectMessage* msg, void* usr);
00121 
00124    virtual DtOldStyleCallbackInfo* addOldStyleCallbackInfo(DtMessageCallbackFcn fcn, void* usr);
00125 
00128    virtual DtOldStyleCallbackInfo* findOldStyleCallbackInfo(DtMessageCallbackFcn fcn, void* usr);
00129 
00132    virtual void removeAndDeleteOldStyleCallbackInfo(DtOldStyleCallbackInfo* cbInfo);
00133 
00134 protected:
00135    DtVrfObjectCommunicationInterface* myCommInterface;
00136 
00137    typedef std::list<DtOldStyleCallbackInfo*> DtOldStyleCallbackInfoList;
00138    DtOldStyleCallbackInfoList myOldStyleCallbackInfoList;
00139 };
00140 
00141 #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)