ArcGIS Procedural Runtime  3.2.10650
MemoryOutputCallbacks.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_MEMORYOUTPUTCALLBACKS_H_
19 #define PRT_MEMORYOUTPUTCALLBACKS_H_
20 
21 #include "prt/prt.h"
22 #include "prt/Object.h"
23 #include "prt/Callbacks.h"
24 #include "prt/ContentType.h"
25 
26 #include <cstddef>
27 #include <cstdint>
28 
29 
30 namespace prt {
31 
39 class PRT_EXPORTS_API MemoryOutputCallbacks: public SimpleOutputCallbacks, public Object {
40 public:
50  static MemoryOutputCallbacks* create(StringEncoding cgaOutputEnc = SE_NATIVE,
51  const wchar_t* generateErrorBlockName = nullptr, Status* status = nullptr);
52 
57  virtual size_t getNumBlocks() const = 0 ;
64  virtual const uint8_t* getBlock(size_t blockNum, size_t* outBlockSize) const = 0;
69  virtual const wchar_t* getBlockEncoderId(size_t blockNum) const = 0;
74  virtual prt::ContentType getBlockContentType(size_t blockNum) const = 0;
80  virtual const size_t* getBlockInitialShapeIndices(size_t blockNum) const = 0;
86  virtual size_t getBlockNumInitialShapeIndices(size_t blockNum) const = 0;
91  virtual const wchar_t* getBlockName(size_t blockNum) const = 0;
92 
93 protected:
94  MemoryOutputCallbacks() = default;
95  virtual ~MemoryOutputCallbacks() = default;
96 };
97 
98 
99 } // namespace prt
100 
101 
102 #endif /* PRT_MEMORYOUTPUTCALLBACKS_H_ */
Definition: MemoryOutputCallbacks.h:39
StringEncoding
Definition: Callbacks.h:275
Definition: Object.h:35
Definition: Callbacks.h:270
ContentType
Definition: ContentType.h:28
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