CFx SDK Documentation  2022 SP0
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_
#define NULL
Definition: GsProperties.h:177
#define TFDLL_EXPORT
Definition: Tf.h:41
TFDLL_EXPORT bool odrxRegisterSchema(const OdString &schemeName)
OdSmartPtr< OdTfSchemaManager > OdTfSchemaManagerPtr
TFDLL_EXPORT bool odTfInitialize(OdDbHostAppServices *pAppServices)
virtual ~OdTfSchemaManager()
bool registerSchema(const OdString &schemeName)
void mergeSchema(const OdString &schemeName)
std::set< OdString > m_setNames
ODRX_DECLARE_MEMBERS(OdTfSchemaManager)
OdDbHostAppServices * m_appServices
void setAppServices(OdDbHostAppServices *pHostAppServices)
void merge(OdStreamBuf *mainSchema, OdStreamBuf *extraSchema)