CFx SDK Documentation  2020SP3
TfSchemaManager.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 #ifndef _ODTFSCHEMAMANAGERN_H_INCLUDED_
24 #define _ODTFSCHEMAMANAGERN_H_INCLUDED_
25 
26 
27 #include "OdaCommon.h"
28 #include "OdPlatformStreamer.h"
29 #include "OdaDefs.h"
30 #include <Tf/Tf.h>
31 #include <Tf/TfIO.h>
32 
33 #include "FlatMemStream.h"
34 #include "../../ThirdParty/tinyxml/tinyxml.h"
35 
36 #define STL_USING_SET
37 #include "OdaSTL.h"
38 #include "DbHostAppServices.h"
39 #include "RxDynamicModule.h"
40 
41 class OdTfBinarySchemaIteratorImpl;
42 
43 
45 {
46 public:
48  OdTfSchemaManager() : m_appServices(NULL) {};
49  virtual ~OdTfSchemaManager() {};
50 
56  bool registerSchema(const OdString& schemeName);
57  void setAppServices(OdDbHostAppServices* pHostAppServices);
58 protected:
59  void mergeSchema(const OdString& schemeName);
60  void merge(OdStreamBuf* mainSchema, OdStreamBuf* extraSchema);
61 
62  //To avoid registration of already registered schemes, we store the names
63  std::set<OdString> m_setNames;
65 };
66 
68 
75 
84 TFDLL_EXPORT bool odrxRegisterSchema(const OdString& schemeName);
85 
86 
87 
88 #endif //_ODTFSCHEMAMANAGERN_H_INCLUDED_
RxDynamicModule.h
OdString
Definition: OdString.h:95
NULL
#define NULL
Definition: GsProperties.h:177
OdTfSchemaManager::m_setNames
std::set< OdString > m_setNames
Definition: TfSchemaManager.h:63
TFDLL_EXPORT
#define TFDLL_EXPORT
Definition: Tf.h:41
OdaSTL.h
OdTfSchemaManager::OdTfSchemaManager
OdTfSchemaManager()
Definition: TfSchemaManager.h:48
OdTfSchemaManager
Definition: TfSchemaManager.h:45
OdTfSchemaManagerPtr
OdSmartPtr< OdTfSchemaManager > OdTfSchemaManagerPtr
Definition: TfSchemaManager.h:67
OdTfSchemaManager::ODRX_DECLARE_MEMBERS
ODRX_DECLARE_MEMBERS(OdTfSchemaManager)
OdTfSchemaManager::~OdTfSchemaManager
virtual ~OdTfSchemaManager()
Definition: TfSchemaManager.h:49
DbHostAppServices.h
OdTfSchemaManager::registerSchema
bool registerSchema(const OdString &schemeName)
OdaDefs.h
OdSmartPtr
Definition: SmartPtr.h:58
OdTfSchemaManager::mergeSchema
void mergeSchema(const OdString &schemeName)
odTfInitialize
TFDLL_EXPORT bool odTfInitialize(OdDbHostAppServices *pAppServices)
OdTfSchemaManager::m_appServices
OdDbHostAppServices * m_appServices
Definition: TfSchemaManager.h:64
OdaCommon.h
OdDbHostAppServices
Definition: DbHostAppServices.h:65
OdTfSchemaManager::setAppServices
void setAppServices(OdDbHostAppServices *pHostAppServices)
OdTfSchemaManager::merge
void merge(OdStreamBuf *mainSchema, OdStreamBuf *extraSchema)
OdStreamBuf
Definition: OdStreamBuf.h:67
FlatMemStream.h
Tf.h
OdPlatformStreamer.h
TfIO.h
OdTfSchemaManageriInterface
Definition: TfSchemaManageriInterface.h:32
odrxRegisterSchema
TFDLL_EXPORT bool odrxRegisterSchema(const OdString &schemeName)