ArcGIS Procedural Runtime  3.2.10650
EncoderInfo.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_ENCODERINFO_H_
19 #define PRT_ENCODERINFO_H_
20 
21 #include "prt/prt.h"
22 #include "prt/ContentType.h"
23 #include "prt/Object.h"
24 #include "prt/AttributeMap.h"
25 #include "prt/Annotation.h"
26 
27 
28 namespace prt {
29 
30 
43 class PRT_EXPORTS_API EncoderInfo : public Object {
44 public:
48  enum OptionState {
51  OS_HIDDEN
52  };
53 
54 public:
55 
60  virtual const wchar_t* getID(Status* status = 0) const = 0;
61 
66  virtual const wchar_t* getName(Status* status = 0) const = 0;
67 
72  virtual const wchar_t* getDescription(Status* status = 0) const = 0;
73 
78  virtual ContentType getType(Status* status = 0) const = 0;
79 
84  virtual const wchar_t* getExtensions(Status* status = 0) const = 0;
85 
91  virtual double getMerit(Status* status = 0) const = 0;
92 
98  virtual const char* const* getIconsBase64(size_t* iconsCount, Status* status = 0) const = 0;
99 
113  virtual Status createValidatedOptionsAndStates(
114  const AttributeMap* optionsIn,
115  const AttributeMap** optionsOut,
116  const AttributeMap** statesOut = nullptr
117  ) const = 0;
118 
124  virtual const wchar_t* const* getOptionKeys(size_t* count, Status* status = 0) const = 0;
125 
133  virtual const wchar_t* const* getInitialShapeAttributeKeys(size_t* count, Status* status = 0) const = 0;
134 
140  virtual AttributeMap::PrimitiveType getType(const wchar_t* key, Status* status = 0) const = 0;
141 
147  virtual size_t getNumAnnotations(const wchar_t* key, Status* status = 0) const = 0;
148 
167  virtual const Annotation* getAnnotation(const wchar_t* key, size_t i, Status* status = 0) const = 0;
168 
169 protected:
170  EncoderInfo() { }
171  EncoderInfo(const EncoderInfo&) : prt::Object() { };
172  virtual ~EncoderInfo() { }
173 };
174 
175 
176 } /* namespace prt */
177 
178 
179 #endif /* PRT_ENCODERINFO_H_ */
The option is enabled and should be RW in a potential UI.
Definition: EncoderInfo.h:49
OptionState
Definition: EncoderInfo.h:48
The option is disabled and should be RO in a potential UI.
Definition: EncoderInfo.h:50
Definition: EncoderInfo.h:43
PrimitiveType
Definition: Attributable.h:44
Definition: Object.h:35
Definition: Annotation.h:56
ContentType
Definition: ContentType.h:28
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