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

00001 #ifndef __GEMFIRE_PDXWRITER_H__
00002 #define __GEMFIRE_PDXWRITER_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 "gfcpp_globals.hpp"
00013 #include "gf_types.hpp"
00014 #include "CacheableBuiltins.hpp"
00015 #include "CacheableDate.hpp"
00016 
00017 namespace gemfire {
00018 
00019   class PdxWriter;
00020   typedef SharedPtr<PdxWriter> PdxWriterPtr;
00021 
00027   class CPPCACHE_EXPORT PdxWriter : public SharedBase{
00028 
00029     public:
00030 
00034     PdxWriter(){}
00035 
00039     virtual ~PdxWriter(){}
00040 
00050     virtual PdxWriterPtr writeChar(const char* fieldName, char value) = 0;
00051 
00061     virtual PdxWriterPtr writeWideChar(const char* fieldName, wchar_t value) = 0;
00062 
00072     virtual PdxWriterPtr writeBoolean(const char* fieldName, bool value) = 0;
00073 
00083     virtual PdxWriterPtr writeByte(const char* fieldName, int8_t value) = 0;
00084 
00094     virtual PdxWriterPtr writeShort(const char* fieldName, int16_t value) = 0;
00095 
00105     virtual PdxWriterPtr writeInt(const char* fieldName, int32_t value) = 0;
00106 
00116     virtual PdxWriterPtr writeLong(const char* fieldName, int64_t value) = 0;
00117 
00127     virtual PdxWriterPtr writeFloat(const char* fieldName, float value) = 0;
00128 
00138     virtual PdxWriterPtr writeDouble(const char* fieldName, double value) = 0;
00139 
00149     virtual PdxWriterPtr writeDate(const char* fieldName, CacheableDatePtr date) = 0;
00150 
00160     virtual PdxWriterPtr writeString(const char* fieldName, const char* value) = 0;
00161 
00171     virtual PdxWriterPtr writeWideString(const char* fieldName, const wchar_t* value) = 0;
00172 
00188     virtual PdxWriterPtr writeObject(const char* fieldName, CacheablePtr value) = 0;
00189 
00200     virtual PdxWriterPtr writeBooleanArray(const char* fieldName, bool* array, int length) = 0;
00201 
00212     virtual PdxWriterPtr writeWideCharArray(const char* fieldName, wchar_t* array, int length) = 0;
00213 
00224     virtual PdxWriterPtr writeCharArray(const char* fieldName, char* array, int length) = 0;
00225 
00236     virtual PdxWriterPtr writeByteArray(const char* fieldName, int8_t* array, int length) = 0;
00237 
00248     virtual PdxWriterPtr writeShortArray(const char* fieldName, int16_t* array, int length) = 0;
00249 
00260     virtual PdxWriterPtr writeIntArray(const char* fieldName, int32_t* array, int length) = 0;
00261 
00272     virtual PdxWriterPtr writeLongArray(const char* fieldName, int64_t* array, int length) = 0;
00273 
00284     virtual PdxWriterPtr writeFloatArray(const char* fieldName, float* array, int length) = 0;
00285 
00296     virtual PdxWriterPtr writeDoubleArray(const char* fieldName, double* array, int length) = 0;
00297 
00308     virtual PdxWriterPtr writeStringArray(const char* fieldName, char** array, int length) = 0;
00309 
00320     virtual PdxWriterPtr writeWideStringArray(const char* fieldName, wchar_t** array, int length) = 0;
00321 
00333     virtual PdxWriterPtr writeObjectArray(const char* fieldName, CacheableObjectArrayPtr array) = 0;
00334 
00346     virtual PdxWriterPtr writeArrayOfByteArrays(const char* fieldName, int8_t** array, int arrayLength, int* elementLength ) = 0;
00347 
00364     virtual PdxWriterPtr markIdentityField(const char* fieldName) = 0;
00365 
00374     virtual PdxWriterPtr writeUnreadFields(PdxUnreadFieldsPtr unread) = 0;
00375 
00376   };
00377 }
00378 #endif /* PDXWRITER_HPP_ */
00379 

GemFire C++ Cache API Documentation