VMware GemFire Native C++ Reference  9.1
PdxReader.hpp
1 #pragma once
2 
3 #ifndef GEODE_PDXREADER_H_
4 #define GEODE_PDXREADER_H_
5 
6 /*
7  * Licensed to the Apache Software Foundation (ASF) under one or more
8  * contributor license agreements. See the NOTICE file distributed with
9  * this work for additional information regarding copyright ownership.
10  * The ASF licenses this file to You under the Apache License, Version 2.0
11  * (the "License"); you may not use this file except in compliance with
12  * the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 
23 #include "CacheableBuiltins.hpp"
24 #include "PdxUnreadFields.hpp"
25 
26 namespace apache {
27 namespace geode {
28 namespace client {
29 
30 class PdxReader;
31 typedef SharedPtr<PdxReader> PdxReaderPtr;
32 
57  public:
61  PdxReader() {}
62 
66  virtual ~PdxReader() {}
67 
77  virtual char readChar(const char* fieldName) = 0;
78 
88  virtual wchar_t readWideChar(const char* fieldName) = 0;
89 
99  virtual bool readBoolean(const char* fieldName) = 0;
100 
110  virtual int8_t readByte(const char* fieldName) = 0;
111 
121  virtual int16_t readShort(const char* fieldName) = 0;
122 
132  virtual int32_t readInt(const char* fieldName) = 0;
133 
143  virtual int64_t readLong(const char* fieldName) = 0;
144 
154  virtual float readFloat(const char* fieldName) = 0;
155 
165  virtual double readDouble(const char* fieldName) = 0;
166 
177  virtual char* readString(const char* fieldName) = 0;
178 
189  virtual wchar_t* readWideString(const char* fieldName) = 0;
190 
200  virtual CacheablePtr readObject(const char* fieldName) = 0;
201 
212  virtual char* readCharArray(const char* fieldName, int32_t& length) = 0;
213 
225  virtual wchar_t* readWideCharArray(const char* fieldName,
226  int32_t& length) = 0;
227 
237  virtual bool* readBooleanArray(const char* fieldName, int32_t& length) = 0;
238 
249  virtual int8_t* readByteArray(const char* fieldName, int32_t& length) = 0;
250 
262  virtual int16_t* readShortArray(const char* fieldName, int32_t& length) = 0;
263 
275  virtual int32_t* readIntArray(const char* fieldName, int32_t& length) = 0;
276 
288  virtual int64_t* readLongArray(const char* fieldName, int32_t& length) = 0;
289 
300  virtual float* readFloatArray(const char* fieldName, int32_t& length) = 0;
301 
312  virtual double* readDoubleArray(const char* fieldName, int32_t& length) = 0;
313 
325  virtual char** readStringArray(const char* fieldName, int32_t& length) = 0;
326 
339  virtual wchar_t** readWideStringArray(const char* fieldName,
340  int32_t& length) = 0;
341 
351  virtual CacheableObjectArrayPtr readObjectArray(const char* fieldName) = 0;
352 
366  virtual int8_t** readArrayOfByteArrays(const char* fieldName,
367  int32_t& arrayLength,
368  int32_t** elementLength) = 0;
369 
379  virtual CacheableDatePtr readDate(const char* fieldName) = 0;
380 
389  virtual bool hasField(const char* fieldName) = 0;
390 
402  virtual bool isIdentityField(const char* fieldName) = 0;
403 
414  virtual PdxUnreadFieldsPtr readUnreadFields() = 0;
415 };
416 } // namespace client
417 } // namespace geode
418 } // namespace apache
419 
420 #endif // GEODE_PDXREADER_H_
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
Contains generic template definitions for Cacheable types and instantiations for built-in types...
virtual ~PdxReader()
destructor
Definition: PdxReader.hpp:66
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:52
PdxReader()
constructors
Definition: PdxReader.hpp:61
This abstract base class is the base class of all user objects that have the shared capability of ref...
Definition: SharedBase.hpp:40
A PdxReader will be passed to PdxSerializable.fromData or during deserialization of a PDX...
Definition: PdxReader.hpp:56
This namespace contains all the Geode C++ API classes, enumerations and globals.

Pivotal GemFire C++ Cache API Documentation