build-artifacts/win/product/include/gfcpp/PdxReader.hpp

00001 #ifndef __GEMFIRE_PDXREADER_H__
00002 #define __GEMFIRE_PDXREADER_H__
00003 
00004 /*=========================================================================
00005 * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
00006  * This product is protected by U.S. and international copyright
00007  * and intellectual property laws. Pivotal products are covered by
00008  * more patents listed at http://www.pivotal.io/patents.
00009 *========================================================================
00010 */
00011 
00012 #include "CacheableBuiltins.hpp"
00013 #include "PdxUnreadFields.hpp"
00014 
00015 namespace gemfire {
00016 
00017   class PdxReader;
00018   typedef SharedPtr<PdxReader> PdxReaderPtr;
00019 
00029   class CPPCACHE_EXPORT PdxReader : public SharedBase {
00030 
00031     public:
00032 
00036     PdxReader() {}
00037 
00041     virtual ~PdxReader(){}
00042 
00052     virtual char readChar(const char* fieldName) = 0;
00053 
00063     virtual wchar_t readWideChar(const char* fieldName) = 0;
00064 
00074     virtual bool readBoolean(const char* fieldName) = 0;
00075 
00085     virtual int8_t readByte(const char* fieldName) = 0;
00086 
00096     virtual int16_t readShort(const char* fieldName) = 0;
00097 
00107     virtual int32_t readInt(const char* fieldName) = 0;
00108 
00118     virtual int64_t readLong(const char* fieldName) = 0;
00119 
00129     virtual float readFloat(const char* fieldName) = 0;
00130 
00140     virtual double readDouble(const char* fieldName) = 0;
00141 
00151     virtual char* readString(const char* fieldName) = 0;
00152 
00162     virtual wchar_t* readWideString(const char* fieldName) = 0;
00163 
00173     virtual CacheablePtr readObject(const char* fieldName) = 0;
00174 
00185     virtual char* readCharArray(const char* fieldName, int32_t& length) = 0;
00186 
00197     virtual wchar_t* readWideCharArray(const char* fieldName, int32_t& length) = 0;
00198 
00208     virtual bool* readBooleanArray (const char* fieldName, int32_t& length) = 0;
00209 
00220     virtual int8_t* readByteArray(const char* fieldName, int32_t& length) = 0;
00221 
00232     virtual int16_t* readShortArray(const char* fieldName, int32_t& length) = 0;
00233 
00244     virtual int32_t* readIntArray(const char* fieldName, int32_t& length) = 0;
00245 
00256     virtual int64_t* readLongArray(const char* fieldName, int32_t& length ) = 0;
00257 
00268     virtual float* readFloatArray(const char* fieldName, int32_t& length) = 0;
00269 
00280     virtual double* readDoubleArray(const char* fieldName, int32_t& length) = 0;
00281 
00292     virtual char** readStringArray(const char* fieldName, int32_t& length) = 0;
00293 
00304     virtual wchar_t** readWideStringArray(const char* fieldName, int32_t& length) = 0;
00305 
00315     virtual CacheableObjectArrayPtr readObjectArray(const char* fieldName) = 0;
00316 
00328     virtual int8_t** readArrayOfByteArrays(const char* fieldName, int32_t& arrayLength, int32_t** elementLength ) = 0;
00329 
00339     virtual CacheableDatePtr readDate(const char* fieldName) = 0;
00340 
00348     virtual bool hasField(const char* fieldName) = 0;
00349 
00357     virtual bool isIdentityField(const char* fieldName) = 0;
00358 
00367     virtual PdxUnreadFieldsPtr readUnreadFields() = 0;
00368   };
00369 }
00370 #endif /* PDXREADER_HPP_ */
00371 

GemFire C++ Cache API Documentation