VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/simpleRadioCommModel.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2007 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: simpleRadioCommModel.h,v $ $Revision: 1.4 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00013 
00014 #ifndef simpleRadioCommModel_h
00015 #define simpleRadioCommModel_h
00016 
00017 #include "vrfobjcore/commModel.h"
00018 #include "vrfMsgTransport/signalMessageTransporter.h"
00019 #include "vrfobjcore/vrfobjcoreDefines.h"
00020 #include <deque>
00021 
00022 class DtSimpleRadioCommModelDescriptor;
00023 
00030 class DT_DLL_vrfobjcore DtSimpleRadioCommModel : public DtCommModel
00031 {
00032 private:
00034 
00035    DtSimpleRadioCommModel();
00036    DtSimpleRadioCommModel(const DtSimpleRadioCommModel& orig);
00037    DtSimpleRadioCommModel& operator=(const DtSimpleRadioCommModel& orig);
00039 
00040 protected:
00042    DtSimpleRadioCommModel(DtCommModelCreationParams& params);
00045    virtual bool init();
00046 
00048    virtual void tick();
00049 
00050 public:
00053    static DtCommModel* create(DtCommModelCreationParams& params);
00054 
00055    virtual ~DtSimpleRadioCommModel();
00056 
00060    virtual DtString type() const;
00061 
00064    virtual void registerRadio(DtVrfRadio* radio);
00065 
00067    virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
00068 
00069 protected:
00072    virtual DtSignalMessageTransporter* createTransporter();
00073 
00079    virtual bool checkRadioConnectivity(DtVrfObject* sender, DtVrfObject* receiver);
00080    
00083    virtual void deliverMessageToRecipients(const DtVrfObjectMessage* message);
00084 
00085    static void messageReceivedCallback(DtSignalMessageTransporterCallbackParams* params,
00086       void* usr);
00087 
00088    virtual void processMessageReceived(DtSignalMessageTransporterCallbackParams* params);
00089 
00090 protected:
00091    enum ConnectionMode
00092    {
00093       ConnectionModeAll = 0,
00094       ConnectionModeAggregate = 1,
00095       ConnectionModeForce = 2
00096    };
00097 
00098    DtSignalMessageTransporter* myTransporter;
00099    typedef std::deque<DtVrfObjectMessageConstPtr> DtMessageQueue;
00100    DtMessageQueue myMessagesToDeliver;
00101    const DtSimpleRadioCommModelDescriptor* mySimpleCommDescriptor;
00102    ConnectionMode myConnectionMode;
00103 };
00104 
00105 #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)