Free Electron
pyobjects.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 __python_pyobjects_h__
8 #define __python_pyobjects_h__
9 
10 namespace pyfe
11 {
12 
13 class Master
14 {
15  public:
16  PyObject_HEAD
17  Master(void);
18 
19  void Init(void);
20  void Fini(void);
21 
22  public:
23  fe::Master *m_pMaster;
24  fe::sp<fe::TypeMaster> *m_pspTypeMaster;
25  std::map<fe::sp<fe::BaseType>, fe::sp<BaseConvertor> >
26  *m_pConvertors;
27 };
28 
29 class Record
30 {
31  public:
32  PyObject_HEAD
33 
34  void Init(const fe::Record &record);
35  void Init(void);
36  void Fini(void);
37 
38  fe::Record *getRecord(void);
39  public:
40  fe::Record *m_pRecord;
41 };
42 
43 class RecordArray
44 {
45  public:
46  PyObject_HEAD
47 
48  void Init(fe::sp<fe::RecordArray> recordarray);
49  void Init(void);
50  void Fini(void);
51 
52  fe::sp<fe::RecordArray> *getRecordArray(void);
53 
54  public:
55  fe::sp<fe::RecordArray> *m_pspRecordArray;
56 };
57 
58 class Instance
59 {
60  public:
61  PyObject_HEAD
62 
63  void Init(void);
64  void Init(fe::Instance instance);
65  void Fini(void);
66 
67  fe::Instance *getInstance(void);
68 
69  private:
70  fe::Instance *m_pInstance;
71 };
72 
73 class Component
74 {
75  public:
76  PyObject_HEAD
77 
78 void Init(fe::sp<fe::Component> spComponent);
79  void Init(void);
80  void Fini(void);
81 
82  fe::sp<fe::Component> *getComponent(void);
83 
84  public:
85  fe::sp<fe::Component> *m_pspComponent;
86 };
87 
88 } /* namespace */
89 
90 
91 #endif /* __python_pyobjects_h__ */
92 
Smart pointer used with types represented by BaseType.
Definition: Instance.h:28
python binding
Definition: namespace.dox:7
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Central access point for key pseudo-global objects.
Definition: Master.h:21