Free Electron
Projector.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 __group_Projector_h__
8 #define __group_Projector_h__
9 
10 namespace fe
11 {
12 namespace group
13 {
14 
15 class Projector : public HandlerI, public ParserI
16 {
17  public:
18  Projector(void);
19 virtual ~Projector(void);
20 
21  // AS HandlerI
22 virtual void handle(Record &signal);
23 virtual void bind(sp<SignalerI> spSignalerI, sp<Layout> spLayout);
24 
25  // AS ParserI
26 virtual void parse(std::vector<String> &attributeNames);
27  private:
28  void doSetup(void);
29  private:
30  Accessor<sp<RecordGroup> > m_aInput;
31  Accessor<sp<RecordGroup> > m_aOutput;
32  Accessor<String> m_aLayout;
33  std::vector<String> m_attributeNames;
34  sp<Scope> m_spScope;
35 };
36 
37 } /* namespace */
38 } /* namespace */
39 
40 #endif /* __group_Projector_h__ */
41 
kernel
Definition: namespace.dox:3