IModelPublishingProvider.h
Go to the documentation of this file.
1 /*--------------------------------------------------------------------------------------+
2 |
3 | Supplied under applicable software license agreement.
4 |
5 | Copyright (c) 2018 Bentley Systems, Incorporated. All rights reserved.
6 |
7 +---------------------------------------------------------------------------------------*/
8 #pragma once
10 
11 #define BEGIN_BENTLEY_DGNIMODEL_NAMESPACE namespace Bentley { namespace DgnIModel {
12 #define END_BENTLEY_DGNIMODEL_NAMESPACE }}
13 
15 
16 /*=================================================================================**/
27 
32 
37 
42 
43 /*=================================================================================**/
51  {
52 protected:
54  PUBLISHLIB_EXPORT virtual WCharCP _GetEngineName () = 0;
56  PUBLISHLIB_EXPORT virtual WCharCP _GetEngineVersion () = 0;
57 
58 public:
59  PUBLISHLIB_EXPORT WCharCP GetEngineName () ;
60  PUBLISHLIB_EXPORT WCharCP GetEngineVersion () ;
62  };
63 /*=================================================================================**/
69  {
70 private:
71  bool m_isNotInitialized;
72  bvector<DgnFileP> m_fileslist;
73 protected:
74 
76  PUBLISHLIB_EXPORT virtual void _GetIconLibs (bvector<DgnFileP>& m_files);
78  PUBLISHLIB_EXPORT virtual ~DgnIconLibsProvider ();
79  };
80 /*=================================================================================**/
86  {
87 protected:
89  PUBLISHLIB_EXPORT virtual DgnFileSupplyRightsP _GetDgnFileSupplyRights ()=0;
90 public:
92  };
93 /*=================================================================================**/
105  {
106 private:
107  bvector<DgnFileP> m_fileslist;
108  DgnIconLibsProviderP m_iconProvider;
109  IDgnFileSupplyRightProviderP m_rightProvider;
110 
111 
112 protected:
115  PUBLISHLIB_EXPORT virtual IIModelEngineInfoProviderR _GetEngineInfoProvider () = 0;
116 
119  PUBLISHLIB_EXPORT virtual DgnIconLibsProviderR _GetIconLibProvider ();
120 
123  PUBLISHLIB_EXPORT virtual IDgnFileSupplyRightProviderP _GetRightsProvider ();
124 public:
126  virtual PUBLISHLIB_EXPORT ~IIModelPublishingProvider();
127 
129  PUBLISHLIB_EXPORT IIModelEngineInfoProviderR GetEngineInfoProvider ();
130 
132  PUBLISHLIB_EXPORT DgnFileSupplyRightsP GetDgnFileSupplyRights ();
133 
135  PUBLISHLIB_EXPORT DgnIconLibsProviderR GetIconLibProvider ();
136  };
137 
RefCounted< DgnIconLibsProvider > DgnIconLibsProviderPtr
Definition: IModelPublishingProvider.h:28
#define BEGIN_BENTLEY_DGNIMODEL_NAMESPACE
Definition: IModelPublishingProvider.h:11
IDgnFileSupplyRightProvider * IDgnFileSupplyRightProviderP
Definition: IModelPublishingProvider.h:36
IIModelEngineInfoProvider * IIModelEngineInfoProviderP
Definition: IModelPublishingProvider.h:41
IDgnFileSupplyRightProvider must be implemented in-order to provide credentials to protected DGN file...
Definition: IModelPublishingProvider.h:85
wchar_t const * WCharCP
Definition: Bentley.h:224
IIModelEngineInfoProvider must be implemented in-order to provide engine name and engine version...
Definition: IModelPublishingProvider.h:50
Template to simplify the task of writing a class that implements the reference-counting pattern...
Definition: RefCounted.h:90
RefCounted< IIModelPublishingProvider > IIModelPublishingProviderPtr
Definition: IModelPublishingProvider.h:23
DgnIconLibsProvider & DgnIconLibsProviderR
Definition: IModelPublishingProvider.h:30
virtual PUBLISHLIB_EXPORT ~IIModelEngineInfoProvider()
Definition: IModelPublishingProvider.h:61
DgnIconLibsProvider * DgnIconLibsProviderP
Definition: IModelPublishingProvider.h:31
RefCounted< IDgnFileSupplyRightProvider > IDgnFileSupplyRightProviderPtr
Definition: IModelPublishingProvider.h:33
struct DgnPlatform::DgnFileSupplyRights * DgnFileSupplyRightsP
Definition: DgnPlatform.h:208
virtual ~IDgnFileSupplyRightProvider()
Definition: IModelPublishingProvider.h:91
IIModelEngineInfoProvider & IIModelEngineInfoProviderR
Definition: IModelPublishingProvider.h:40
IModelPublisher object utilizes some additional and optional interfaces implementation.IIModelPublishingProvider groups all interfaces implementation.
Definition: IModelPublishingProvider.h:104
#define END_BENTLEY_DGNIMODEL_NAMESPACE
Definition: IModelPublishingProvider.h:12
#define PUBLISHLIB_EXPORT
Definition: IModelPublisherOptions.h:13
IIModelPublishingProvider & IIModelPublishingProviderR
Definition: IModelPublishingProvider.h:25
IDgnFileSupplyRightProvider & IDgnFileSupplyRightProviderR
Definition: IModelPublishingProvider.h:35
RefCounted< IIModelEngineInfoProvider > IIModelEngineInfoPtrProvider
Definition: IModelPublishingProvider.h:38
IIModelPublishingProvider * IIModelPublishingProviderP
Definition: IModelPublishingProvider.h:26
DgnIconLibsProvider must be implemented in-order to provide Icons data for published/packaged files...
Definition: IModelPublishingProvider.h:68

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.