Free Electron
Communicate.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __intelligence_Communicate_h__
8 #define __intelligence_Communicate_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Manipulate connections between radios
16 
17  @ingroup intelligence
18 *//***************************************************************************/
19 class FE_DL_EXPORT Communicate: public HandlerI
20 {
21  public:
22  Communicate(void) {}
23 
24  //* as HandlerI
25 virtual void handle(Record& record);
26 
27 
28  private:
29  void merge(Record& rNeighborhood1,Record& rNeighborhood2);
30  void fill(WeakRecord rRadio,WeakRecord rNeighborhood);
31  void partition(Record& rNeighborhood);
32 
33  Accessor<SpatialVector> m_aLocation;
34  Accessor<String> m_aFaction;
35 
36  Theater m_theaterRV;
37  Crowd m_crowdRV1;
38  Crowd m_crowdRV2;
39  RecordArrayView<Radio> m_radioRAV;
40  RecordArrayView<Radio> m_radioRAV2;
41  RecordArrayView<Radio> m_radioRAV3;
42 };
43 
44 } /* namespace ext */
45 } /* namespace fe */
46 
47 #endif /* __intelligence_Communicate_h__ */
kernel
Definition: namespace.dox:3
Theater RecordView.
Definition: Theater.h:19
The main data access class for the data system.
Definition: Accessor.h:128
RecordView Iteration over a RecordArray.
Definition: RecordArrayView.h:37
Interface to handle signals from an SignalerI.
Definition: HandlerI.h:22
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Manipulate connections between radios.
Definition: Communicate.h:19
Crowd RecordView.
Definition: Crowd.h:19
Non-persistent reference to an instance of a Layout.
Definition: WeakRecordSB.h:17