CFx SDK Documentation  2023 SP0
AECImpObj.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 __AECIMPOBJ_H__
25 #define __AECIMPOBJ_H__
26 
27 #include "AECBase.h"
28 
34 class AECBASE_API AECImpObj : public OdRxObjectImpl<OdRxObject,AECImpObj>
35 {
37 
38  public:
42  const OdString& GetDescription() const;
43 
47  void SetDescription( const OdString& strDescription );
48 
49  public:
50 
55  virtual void onObjectLoaded();
56 
58  // For internal use.
59  virtual void SubClose();
60 
64  OdRxObject* GetOwner() const;
65 
69  OdRxObject* GetOwner( OdRxClass* pClass ) const;
70 
74  void addRefSubPtr();
75 
79  void releaseSubPtr();
80 
84  void assertReadEnabled() const;
85 
89  void assertWriteEnabled( bool autoUndo = true,
90  bool recordModified = true );
91 
95  bool isReadEnabled() const;
96 
100  bool isWriteEnabled() const;
101 
106 
111  void copyFrom( const OdRxObject* pOther );
112 
113  virtual OdUInt16 minSupportedVersion() const;
114 
115  public:
117  // For internal use.
118  void SetOwner( OdDbObject* pOwner );
119 
121  // For internal use.
122  void SetOwner( AECImpObj* pOwner );
123 
125  // For internal use.
126  class AECSIBase* GetImpl() const;
127 
129  // For loading of older versions of objects
130  virtual OdResult dwgInFieldsEx20( AECDbDwgFiler* pFiler );
131 
133  // For loading of older versions of objects
134  virtual OdResult dwgInFieldsEx1( AECDbDwgFiler* pFiler );
135 
136  protected:
137 
139  // For internal use
140  class AECSIBase* m_pImp;
141 
143 
144  private:
146  // disable copying
147  AECImpObj( const AECImpObj& );
148 
150  // disable copying
151  AECImpObj& operator = ( const AECImpObj& );
152 };
153 
154 #include "Common/AECSubPtr.h"
155 
156 #endif //__AECIMPOBJ_H__
#define AEC_DECLARE_MEMBERS(ClassName)
Definition: AECMacros.h:54
unsigned short OdUInt16
OdResult
Definition: OdResult.h:29
virtual OdResult dwgInFieldsEx1(AECDbDwgFiler *pFiler)
DOM.
OdDbDatabase * database() const
virtual void onObjectLoaded()
bool isWriteEnabled() const
OdRxObject * GetOwner(OdRxClass *pClass) const
virtual OdUInt16 minSupportedVersion() const
void releaseSubPtr()
void SetOwner(AECImpObj *pOwner)
DOM.
OdUInt16 m_iMinSupportedVersion
Definition: AECImpObj.h:142
virtual OdResult dwgInFieldsEx20(AECDbDwgFiler *pFiler)
DOM.
void SetOwner(OdDbObject *pOwner)
DOM.
const OdString & GetDescription() const
virtual void SubClose()
DOM.
class AECSIBase * GetImpl() const
DOM.
class AECSIBase * m_pImp
DOM.
Definition: AECImpObj.h:140
void SetDescription(const OdString &strDescription)
void assertWriteEnabled(bool autoUndo=true, bool recordModified=true)
void addRefSubPtr()
OdRxObject * GetOwner() const
void copyFrom(const OdRxObject *pOther)
void assertReadEnabled() const
bool isReadEnabled() const