VR-Forces 5.0.3 Developer's Guide
 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 
14 #include "vrfobjcore/commModel.h"
15 #include "vrfobjcore/simObject.h"
17 #include <deque>
18 
20 
21 namespace makVrfEvents
22 {
23  class DtEvent;
24 }
25 
33 {
34 private:
36 
41 
42 protected:
47  virtual bool init();
48 
50  virtual void tick();
51 
54  virtual void clearPendingRadioMessages();
55 
56 public:
60 
61  virtual ~DtSimpleRadioCommModel();
62 
66  virtual DtString type() const;
67 
70  virtual void registerRadio(DtVrfRadio* radio);
71 
73  virtual void sendMessage(DtVrfObjectMessage* message, DtVrfRadio* sendingRadio);
74 
75 protected:
78  virtual DtSignalMessageTransporter* createTransporter();
79 
85  virtual bool checkRadioConnectivity(DtSimObjectReference sender, DtSimObjectReference receiver) const;
86 
89  virtual void deliverMessageToRecipients(const DtVrfObjectMessage* message);
90 
91  static void messageReceivedCallback(DtSignalMessageTransporterCallbackParams* params,
92  void* usr);
93 
94  virtual void processMessageReceived(DtSignalMessageTransporterCallbackParams* params);
95 
96 protected:
98  {
99  ConnectionModeAll = 0,
100  ConnectionModeAggregate = 1,
101  ConnectionModeForce = 2
102  };
103 
105  typedef std::deque<DtVrfObjectMessageConstPtr> DtMessageQueue;
109 };
virtual void clearPendingRadioMessages()
Called to clear any pending radio messages in the comm model map that are waiting to be sent...
DtSimpleRadioCommModelDescriptor.
Definition: simpleRadioCommModelDescriptor.h:21
DtCommModel & operator=(const DtCommModel &orig)
Not implemented.
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:32
virtual bool init()
Virtual init() called from the create() method.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
Base class for all communication models in VR-Forces. A DtCommModel is the central point for modeling...
Definition: commModel.h:58
std::pair< DtSignalMessageParams *, DtVrfObjectMessageConstPtr > DtSignalMessageTransporterCallbackParams
The parameters passed by the message received callbacks from DtSignalMessageTransporter.
Definition: signalMessageTransporter.h:36
virtual void sendMessage(DtVrfObjectMessage *message, DtVrfRadio *sendingRadio)
Sends the specified message though the comm model. This is the entry point for a message into the net...
This class encapsulates the sending and receiving of DtVrfObjectMessages though signal interactions...
Definition: signalMessageTransporter.h:41
virtual DtString type() const
static DtCommModel * create(DtCommModelCreationParams &params)
Static creator function that can be registered with factories. Calls the constructor, and init() on the new instance before returning it.
virtual void tick()
Method that is called every simulation tick. Base class implementation does nothing.
ConnectionMode myConnectionMode
Definition: simpleRadioCommModel.h:108
#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. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
DtMessageQueue myMessagesToDeliver
Definition: simpleRadioCommModel.h:106
DtSignalMessageTransporter * myTransporter
Definition: simpleRadioCommModel.h:104
const DtSimpleRadioCommModelDescriptor * mySimpleCommDescriptor
Definition: simpleRadioCommModel.h:107
virtual void registerRadio(DtVrfRadio *radio)
Adds a new radio to the comm model. A radio must be part of the comm model in order to send or receiv...
std::deque< DtVrfObjectMessageConstPtr > DtMessageQueue
Definition: simpleRadioCommModel.h:105
ConnectionMode
Definition: simpleRadioCommModel.h:97
Base class for any radios on VrfObjects. A DtVrfRadio acts as the interface between an entity and a D...
Definition: vrfRadio.h:41
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 Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)