CFx SDK Documentation  2020SP3
RxClassImpl.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 #ifndef _ODRXCLASSIMPL_H_INCLUDED_
25 #define _ODRXCLASSIMPL_H_INCLUDED_
26 
27 #include "RxObject.h"
28 #include "OdString.h"
29 
30 #include "TD_PackPush.h"
31 
33 {
34 public:
35  class ExtEntry
36  {
37  public:
38  ExtEntry(OdRxClass* pProtocolClass, OdRxObject* pProtocolObject);
39  static ExtEntry* find(ExtEntry* pFirstEntry, const OdRxClass* pProtocolClass);
40 
44  };
45 
46 private:
47  ExtEntry* m_pFirstEntry;
48 
49 protected:
51 public:
53 
54  OdRxObjectPtr addX(OdRxClass* pProtocolClass, OdRxObject* pProtocolObject);
55 
56  OdRxObjectPtr getX(const OdRxClass* pProtocolClass);
57 
58  OdRxObjectPtr delX(OdRxClass* pProtocolClass);
59 
61 
63 
64  const OdString dxfName() const;
65 
66  const OdString appName() const;
67 
69 
71 
73 
75 };
76 
77 class OdRxOverruleIterator;
78 
80 {
81  OdRxModule* m_pModule;
82  OdRxClass* m_pParent;
83  OdRxOverruleIterator* m_overrules[kTotalOverrules];
84  friend class OdRxOverruleInternals;
85 protected:
87 public:
89 
90  void init(OdRxClass* pParent, OdRxModule* pModule);
91 
92  OdRxClass* myParent() const;
93 
94  OdRxModule* module() const;
95 
96  virtual OdRxOverruleIterator* getOverrule(OverrulingType t) const ODRX_OVERRIDE;
97  virtual void setOverrule(OdRxOverruleIterator* pIt, OverrulingType t) ODRX_OVERRIDE;
98 };
99 
100 
102 {
103 // const OdChar* m_szName;
104  OdString m_szName;
105 
106 protected:
107  static const char* m_pStr; // To use in conversion to ANSI
109 public:
110  void init(OdRxModule* pModule, OdRxClass* pParent, const OdString& szName);
111 
112  const OdString name() const;
113 };
114 
115 
117 {
118  OdPseudoConstructorType m_pConstr;
119 protected:
121 public:
122  void init(OdRxModule* pModule, OdRxClass* pParent, OdPseudoConstructorType pConstr);
123 
125 
127 
129 };
130 
131 
133 {
134 // const OdChar* m_szName;
135  OdString m_szName;
136 
137 protected:
138  static const char* m_pStr; // To use in conversion to ANSI
139 
141 public:
142  void init(OdRxModule* pModule, OdRxClass* pParent, OdPseudoConstructorType pConstr, const OdString& szName);
143 
144  const OdString name() const;
145 };
146 
147 
149 {
150  OdString m_szDxfName;
151  OdString m_szAppName;
152  AppNameChangeFuncPtr m_appNameChangeFunc;
153  OdUInt32 m_proxyFlags;
154  OdUInt32 m_customFlags;
155  OdUInt16 m_maintVer;
156  OdUInt16 m_dwgVer;
157 protected:
159 public:
160  void init(OdRxModule* pModule, OdRxClass* pParent,
161  OdPseudoConstructorType pConstr,
162  const OdString& name,
163  const OdString& dxfName,
164  const OdString& appName,
165  AppNameChangeFuncPtr appNameChangeFunc,
167  OdDb::MaintReleaseVer maintVer,
168  OdUInt32 nProxyFlags,
169  OdUInt32 nCustomFlags
170  );
171 
172  const OdString dxfName() const;
173 
174  const OdString appName() const;
175 
177 
179 
181 
183 };
184 
185 #include "TD_PackPop.h"
186 
187 #endif // _ODRXCLASSIMPL_H_INCLUDED_
FIRSTDLL_EXPORT
#define FIRSTDLL_EXPORT
Definition: RootExport.h:39
OdRxClassConsImpl::constructor
OdPseudoConstructorType constructor()
OdRxBaseClassImpl::~OdRxBaseClassImpl
~OdRxBaseClassImpl()
OdRxBaseClassImpl::init
void init(OdRxClass *pParent, OdRxModule *pModule)
kTotalOverrules
@ kTotalOverrules
Definition: RxObject.h:831
OdString
Definition: OdString.h:95
OdRxClassProtocolExtImpl::getX
OdRxObjectPtr getX(const OdRxClass *pProtocolClass)
OdRxObjectPtr
Definition: RxObject.h:345
OdRxClassProtocolExtImpl
Definition: RxClassImpl.h:33
name
GLuint const GLchar * name
Definition: gles2_ext.h:265
OdRxClassProtocolExtImpl::ExtEntry
Definition: RxClassImpl.h:36
OdRxClassProtocolExtImpl::~OdRxClassProtocolExtImpl
~OdRxClassProtocolExtImpl()
OdRxClassProtocolExtImpl::getClassVersion
OdDb::DwgVersion getClassVersion(OdDb::MaintReleaseVer *pMaintVer=0) const
OdRxNamedClassImpl::m_pStr
static const char * m_pStr
Definition: RxClassImpl.h:138
OdRxClassConsImpl::create
OdRxObjectPtr create() const
OdRxObject
Definition: RxObject.h:564
OdRxBaseClassImpl::setOverrule
virtual void setOverrule(OdRxOverruleIterator *pIt, OverrulingType t) ODRX_OVERRIDE
OdRxBaseNamedClassImpl::init
void init(OdRxModule *pModule, OdRxClass *pParent, const OdString &szName)
AppNameChangeFuncPtr
void(* AppNameChangeFuncPtr)(const OdRxClass *classObj, OdString &newAppName, int saveVer)
Definition: RxObject.h:44
OdRxNamedClassImpl::OdRxNamedClassImpl
OdRxNamedClassImpl()
OdDxfClassImpl::dxfName
const OdString dxfName() const
OdRxClassProtocolExtImpl::OdRxClassProtocolExtImpl
OdRxClassProtocolExtImpl()
TD_PackPop.h
OdRxBaseNamedClassImpl::OdRxBaseNamedClassImpl
OdRxBaseNamedClassImpl()
OdRxBaseClassImpl::myParent
OdRxClass * myParent() const
OdRxClassProtocolExtImpl::addX
OdRxObjectPtr addX(OdRxClass *pProtocolClass, OdRxObject *pProtocolObject)
OdUInt16
unsigned short OdUInt16
Definition: OdPlatformSettings.h:760
RxObject.h
OverrulingType
OverrulingType
Definition: RxObject.h:820
OdUInt32
unsigned int OdUInt32
Definition: OdPlatformSettings.h:783
OdDxfClassImpl::OdDxfClassImpl
OdDxfClassImpl()
OdDb::DwgVersion
DwgVersion
Definition: OdaDefs.h:46
OdDxfClassImpl::appName
const OdString appName() const
OdTf::dwgVer
@ dwgVer
Definition: Tf.h:363
OdRxNamedClassImpl
Definition: RxClassImpl.h:133
OdDxfClassImpl::init
void init(OdRxModule *pModule, OdRxClass *pParent, OdPseudoConstructorType pConstr, const OdString &name, const OdString &dxfName, const OdString &appName, AppNameChangeFuncPtr appNameChangeFunc, OdDb::DwgVersion dwgVer, OdDb::MaintReleaseVer maintVer, OdUInt32 nProxyFlags, OdUInt32 nCustomFlags)
OdString.h
OdRxClass
Definition: RxObject.h:865
OdRxBaseClassImpl::OdRxBaseClassImpl
OdRxBaseClassImpl()
OdRxBaseClassImpl::module
OdRxModule * module() const
OdDb::MaintReleaseVer
MaintReleaseVer
Definition: OdaDefs.h:107
OdSmartPtr< OdRxClass >
OdRxBaseClassImpl::getOverrule
virtual OdRxOverruleIterator * getOverrule(OverrulingType t) const ODRX_OVERRIDE
OdRxClassConsImpl::setConstructor
void setConstructor(OdPseudoConstructorType pConstr)
OdDxfClassImpl::appNameCallbackPtr
AppNameChangeFuncPtr appNameCallbackPtr() const
OdDxfClassImpl
Definition: RxClassImpl.h:149
OdDxfClassImpl::getClassVersion
OdDb::DwgVersion getClassVersion(OdDb::MaintReleaseVer *pMaintVer=0) const
OdRxClassProtocolExtImpl::ExtEntry::m_pProtocolClass
OdRxClassPtr m_pProtocolClass
Definition: RxClassImpl.h:41
TD_PackPush.h
OdRxNamedClassImpl::init
void init(OdRxModule *pModule, OdRxClass *pParent, OdPseudoConstructorType pConstr, const OdString &szName)
OdDxfClassImpl::proxyFlags
OdUInt32 proxyFlags() const
OdRxClassProtocolExtImpl::appNameCallbackPtr
AppNameChangeFuncPtr appNameCallbackPtr() const
OdRxClassProtocolExtImpl::proxyFlags
OdUInt32 proxyFlags() const
OdRxBaseClassImpl
Definition: RxClassImpl.h:80
OdRxNamedClassImpl::name
const OdString name() const
OdRxClassProtocolExtImpl::ExtEntry::m_pNextEntry
ExtEntry * m_pNextEntry
Definition: RxClassImpl.h:43
OdRxClassProtocolExtImpl::appName
const OdString appName() const
OdRxBaseNamedClassImpl::m_pStr
static const char * m_pStr
Definition: RxClassImpl.h:107
OdRxModule
Definition: RxModule.h:45
OdRxClassConsImpl::OdRxClassConsImpl
OdRxClassConsImpl()
OdRxBaseNamedClassImpl
Definition: RxClassImpl.h:102
OdRxBaseNamedClassImpl::name
const OdString name() const
ODRX_OVERRIDE
#define ODRX_OVERRIDE
Definition: OdPlatformSettings.h:114
OdRxClassProtocolExtImpl::customFlags
OdUInt32 customFlags() const
OdRxClassProtocolExtImpl::ExtEntry::find
static ExtEntry * find(ExtEntry *pFirstEntry, const OdRxClass *pProtocolClass)
OdRxClassProtocolExtImpl::dxfName
const OdString dxfName() const
OdRxClassProtocolExtImpl::ExtEntry::m_pProtocolObject
OdRxObjectPtr m_pProtocolObject
Definition: RxClassImpl.h:42
OdRxClassProtocolExtImpl::delX
OdRxObjectPtr delX(OdRxClass *pProtocolClass)
OdRxClassConsImpl
Definition: RxClassImpl.h:117
OdDxfClassImpl::customFlags
OdUInt32 customFlags() const
OdRxClassProtocolExtImpl::create
OdRxObjectPtr create() const
OdRxClassProtocolExtImpl::ExtEntry::ExtEntry
ExtEntry(OdRxClass *pProtocolClass, OdRxObject *pProtocolObject)
OdRxClassProtocolExtImpl::setConstructor
void setConstructor(OdPseudoConstructorType pConstr)
OdRxClassConsImpl::init
void init(OdRxModule *pModule, OdRxClass *pParent, OdPseudoConstructorType pConstr)
OdPseudoConstructorType
OdRxObjectPtr(* OdPseudoConstructorType)()
Definition: RxObject.h:849