ArcGIS Procedural Runtime  3.2.10650
ResolveMap.h
1 /*
2  COPYRIGHT (c) 2012-2024 Esri R&D Center Zurich
3  TRADE SECRETS: ESRI PROPRIETARY AND CONFIDENTIAL
4  Unpublished material - all rights reserved under the
5  Copyright Laws of the United States and applicable international
6  laws, treaties, and conventions.
7 
8  For additional information, contact:
9  Environmental Systems Research Institute, Inc.
10  Attn: Contracts and Legal Services Department
11  380 New York Street
12  Redlands, California, 92373
13  USA
14 
15  email: contracts@esri.com
16 */
17 
18 #ifndef PRT_RESOLVEMAP_H_
19 #define PRT_RESOLVEMAP_H_
20 
21 #include "Attributable.h"
22 #include "Object.h"
23 
24 
25 namespace prt {
26 
27 
38 class PRT_EXPORTS_API ResolveMap: public Attributable, public Object {
39 public:
63  virtual wchar_t* searchKey(const wchar_t* project, const wchar_t* query, wchar_t* result, size_t* resultSize, Status* stat = nullptr) const = 0;
64 
65 
66 
79  virtual const wchar_t* findCGBKey(Status* stat = nullptr) const = 0;
80 
81 
95  virtual const wchar_t** findCGBKeys(const wchar_t** result, size_t* resultSize, Status* stat = nullptr) const = 0;
96 
97 
98 protected:
99  ResolveMap();
100  virtual ~ResolveMap();
101 };
102 
103 
107 class PRT_EXPORTS_API ResolveMapBuilder : public Object {
108 public:
114  static ResolveMapBuilder* create(Status* status = nullptr);
115 
122  static ResolveMapBuilder* createFromResolveMap(ResolveMap const* resolveMap, Status* status = nullptr);
123 
129  virtual ResolveMap const* createResolveMap(Status* status = nullptr) const = 0;
130 
136  virtual ResolveMap const* createResolveMapAndReset(Status* status = nullptr) = 0;
137 
138 
139 
145  EEM_IGNORE
146  };
147 
159  virtual Status addEntry(const wchar_t* key, const wchar_t *uri, EmbeddedEntriesMode embeddedEntries = EEM_INSPECT_AND_ADD) = 0;
160 
167  virtual Status setDownstreamMap(const ResolveMap* map) = 0;
168 
169 protected:
171  virtual ~ResolveMapBuilder();
172 };
173 
174 
175 } // namespace prt
176 
177 
178 #endif /* PRT_RESOLVEMAP_H_ */
Definition: ResolveMap.h:38
ResolveMap const * createResolveMap(const wchar_t *rpkOrResURI, const wchar_t *unpackFileSystemPath=nullptr, Status *stat=nullptr)
Definition: ResolveMap.h:107
Definition: Attributable.h:38
Definition: Object.h:35
Status
Definition: Status.h:31
inspect uri and add embedded resources
Definition: ResolveMap.h:144
The Procedural Runtime API namespace. The prt namespace contains the top level entry points into the ...
Definition: Annotation.h:24
EmbeddedEntriesMode
Definition: ResolveMap.h:143