VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleRadioCommModel.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include "vrfobjcore/commModel.h"
16 #include <deque>
17 
19 
27 {
28 private:
30 
35 
36 protected:
41  virtual bool init();
42 
44  virtual void tick();
45 
48  virtual void clearPendingRadioMessages();
49 
50 public:
54 
55  virtual ~DtSimpleRadioCommModel();
56 
60  virtual DtString type() const;
61 
64  virtual void registerRadio(DtVrfRadio* radio);
65 
67  virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
68 
69 protected:
72  virtual DtSignalMessageTransporter* createTransporter();
73 
79  virtual bool checkRadioConnectivity(const DtVrfObject* sender, const DtVrfObject* receiver);
80 
83  virtual void deliverMessageToRecipients(const DtVrfObjectMessage* message);
84 
85  static void messageReceivedCallback(DtSignalMessageTransporterCallbackParams* params,
86  void* usr);
87 
88  virtual void processMessageReceived(DtSignalMessageTransporterCallbackParams* params);
89 
90 protected:
92  {
93  ConnectionModeAll = 0,
94  ConnectionModeAggregate = 1,
95  ConnectionModeForce = 2
96  };
97 
99  typedef std::deque<DtVrfObjectMessageConstPtr> DtMessageQueue;
103 };
virtual void clearPendingRadioMessages()
Called to clear any pending radio messages in the comm model map that are waiting to be sent...
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DtSimpleRadioCommModelDescriptor.
Definition: simpleRadioCommModelDescriptor.h:21
DtCommModel & operator=(const DtCommModel &orig)
Structure of data passed to the DtRadio constructor.
Definition: commModel.h:27
An implementation of DtCommModel that models a simple radio model, using signal interaction as the ne...
Definition: simpleRadioCommModel.h:26
virtual bool init()
Virtual init() called from the create() method.
Base class for all communication models in VR-Forces.
Definition: commModel.h:57
std::pair< DtSignalMessageParams *, DtVrfObjectMessageConstPtr > DtSignalMessageTransporterCallbackParams
The parameters passed by the message received callbacks from DtSignalMessageTransporter.
Definition: signalMessageTransporter.h:38
virtual void sendMessage(DtVrfObjectMessage *message, DtVrfRadio *sendingRadio)
Sends the specified message though the comm model.
This class encapsulates the sending and receiving of DtVrfObjectMessages though signal interactions...
Definition: signalMessageTransporter.h:43
virtual DtString type() const
static DtCommModel * create(DtCommModelCreationParams &params)
Static creator function that can be registered with factories.
virtual void tick()
Method that is called every simulation tick.
ConnectionMode myConnectionMode
Definition: simpleRadioCommModel.h:102
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
DtMessageQueue myMessagesToDeliver
Definition: simpleRadioCommModel.h:100
DtSignalMessageTransporter * myTransporter
Definition: simpleRadioCommModel.h:98
const DtSimpleRadioCommModelDescriptor * mySimpleCommDescriptor
Definition: simpleRadioCommModel.h:101
virtual void registerRadio(DtVrfRadio *radio)
Adds a new radio to the comm model.
std::deque< DtVrfObjectMessageConstPtr > DtMessageQueue
Definition: simpleRadioCommModel.h:99
ConnectionMode
Definition: simpleRadioCommModel.h:91
Base class for any radios on VrfObjects.
Definition: vrfRadio.h:43
virtual void deliverMessageToRecipients(const DtVrfObjectMessage *message)
Finds all local radios to which this message should be delivered and sends the message to those radio...

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)