Free Electron
Dominate.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_Dominate_h__
8 #define __intelligence_Dominate_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Propagate control connections
16 
17  @ingroup intelligence
18 *//***************************************************************************/
19 class FE_DL_EXPORT Dominate: virtual public HandlerI
20 {
21  public:
22  Dominate(void) {}
23 
24  //* as HandlerI
25 virtual void handle(Record &record);
26 
27  private:
28  void unwire(ControlCenter& controlled,WeakRecord& rOldControlRecord);
29  void wireLike(ControlCenter& controlled,
30  ControlCenter& controlCenter,I32 subservience);
31  void wire(ControlCenter& controlled,
32  ControlCenter& controlCenter,I32 subservience);
33 
34  Accessor<I32> m_aSubservience;
35 
36  Theater m_theaterRV;
37  ControlCenter m_controlRV1;
38  ControlCenter m_controlRV2;
39  RecordArrayView<ControlCenter> m_controlRAV;
40  RecordArrayView<Rod> m_rodRAV;
41 };
42 
43 } /* namespace ext */
44 } /* namespace fe */
45 
46 #endif /* __intelligence_Dominate_h__ */
Propagate control connections.
Definition: Dominate.h:19
ControlCenter RecordView.
Definition: ControlCenter.h:19
kernel
Definition: namespace.dox:3
Theater RecordView.
Definition: Theater.h:19
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
Non-persistent reference to an instance of a Layout.
Definition: WeakRecordSB.h:17