ArcGIS Procedural Runtime  3.2.10650
AttributeMap.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_ATTRIBUTEMAP_H_
19 #define PRT_ATTRIBUTEMAP_H_
20 
21 #include "prt/prt.h"
22 #include "prt/Attributable.h"
23 #include "prt/Object.h"
24 
25 
26 namespace prt {
27 
28 
32 class PRT_EXPORTS_API AttributeMap : public Attributable, public Object {
33 protected:
34  AttributeMap();
35  virtual ~AttributeMap();
36 };
37 
38 
42 class PRT_EXPORTS_API AttributeMapBuilder : public AttributableSetter, public Object {
43 public:
50  static AttributeMapBuilder* create(Status* status = 0);
51 
59  static AttributeMapBuilder* createFromAttributeMap(const AttributeMap* src, Status* status = 0);
60 
68  virtual AttributeMap const* createAttributeMapAndReset(Status* status = 0) = 0;
69 
76  virtual AttributeMap const* createAttributeMap(Status* status = 0) const = 0;
77 
84  virtual void resetToAttributeMap(const AttributeMap* src, Status* status = 0) = 0;
85 
95  virtual void updateWithAttributeMap(const AttributeMap* src, bool force = false, Status* status = 0) = 0;
96 
97 protected:
99  virtual ~AttributeMapBuilder();
100 };
101 
102 
103 } // namespace prt
104 
105 
106 #endif /* PRT_ATTRIBUTEMAP_H_ */
Definition: Attributable.h:186
Definition: AttributeMap.h:42
Definition: Attributable.h:38
Definition: Object.h:35
Definition: AttributeMap.h:32
Status
Definition: Status.h:31
The Procedural Runtime API namespace. The prt namespace contains the top level entry points into the ...
Definition: Annotation.h:24