3 #ifndef GEODE_PDXINSTANCE_H_ 4 #define GEODE_PDXINSTANCE_H_ 23 #include "PdxSerializable.hpp" 25 #include "PdxFieldTypes.hpp" 75 virtual bool hasField(
const char* fieldname) = 0;
89 virtual void getField(
const char* fieldname,
CacheablePtr& value)
const = 0;
100 virtual void getField(
const char* fieldname,
bool& value)
const = 0;
115 virtual void getField(
const char* fieldname,
signed char& value)
const = 0;
130 virtual void getField(
const char* fieldname,
unsigned char& value)
const = 0;
141 virtual void getField(
const char* fieldname, int16_t& value)
const = 0;
150 virtual void getField(
const char* fieldname, int32_t& value)
const = 0;
161 virtual void getField(
const char* fieldname, int64_t& value)
const = 0;
172 virtual void getField(
const char* fieldname,
float& value)
const = 0;
183 virtual void getField(
const char* fieldname,
double& value)
const = 0;
194 virtual void getField(
const char* fieldName,
wchar_t& value)
const = 0;
205 virtual void getField(
const char* fieldName,
char& value)
const = 0;
217 virtual void getField(
const char* fieldname,
bool** value,
218 int32_t& length)
const = 0;
234 virtual void getField(
const char* fieldname,
signed char** value,
235 int32_t& length)
const = 0;
252 virtual void getField(
const char* fieldname,
unsigned char** value,
253 int32_t& length)
const = 0;
265 virtual void getField(
const char* fieldname, int16_t** value,
266 int32_t& length)
const = 0;
278 virtual void getField(
const char* fieldname, int32_t** value,
279 int32_t& length)
const = 0;
291 virtual void getField(
const char* fieldname, int64_t** value,
292 int32_t& length)
const = 0;
304 virtual void getField(
const char* fieldname,
float** value,
305 int32_t& length)
const = 0;
317 virtual void getField(
const char* fieldname,
double** value,
318 int32_t& length)
const = 0;
331 virtual void getField(
const char* fieldName,
wchar_t** value,
332 int32_t& length)
const = 0;
344 virtual void getField(
const char* fieldName,
char** value,
345 int32_t& length)
const = 0;
357 virtual void getField(
const char* fieldname,
wchar_t** value)
const = 0;
368 virtual void getField(
const char* fieldname,
char** value)
const = 0;
381 virtual void getField(
const char* fieldname,
wchar_t*** value,
382 int32_t& length)
const = 0;
394 virtual void getField(
const char* fieldname,
char*** value,
395 int32_t& length)
const = 0;
406 virtual void getField(
const char* fieldname,
421 virtual void getField(
const char* fieldName, int8_t*** value,
422 int32_t& arrayLength,
423 int32_t*& elementLength)
const = 0;
438 virtual void getField(
const char* fieldname,
452 virtual bool isIdentityField(
const char* fieldname) = 0;
481 virtual int32_t hashcode()
const = 0;
500 PdxSerializable::toData(output);
508 return PdxSerializable::fromData(input);
554 virtual bool operator==(
const CacheableKey& other)
const = 0;
560 virtual uint32_t objectSize()
const = 0;
589 virtual const char* getClassName()
const = 0;
600 virtual PdxFieldTypes::PdxFieldType getFieldType(
601 const char* fieldname)
const = 0;
618 #endif // GEODE_PDXINSTANCE_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 ~PdxInstance()
destructor
Definition: PdxInstance.hpp:55
PdxInstance provides run time access to the fields of a PDX without deserializing the PDX...
Definition: PdxInstance.hpp:50
Provide operations for writing primitive data values, byte arrays, strings, Serializable objects to a...
Definition: DataOutput.hpp:74
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:52
PdxInstance()
constructors
Definition: PdxInstance.hpp:607
Template class for CacheableArrayType SharedPtr's that adds [] operator.
Definition: CacheableBuiltins.hpp:144
virtual void toData(DataOutput &output) const
serialize this object.
Definition: PdxInstance.hpp:499
This abstract base class is the superclass of all user objects in the cache that can be serialized...
Definition: Serializable.hpp:53
Provide operations for reading primitive data values, byte arrays, strings, Serializable objects from...
Definition: DataInput.hpp:56
Represents a cacheable key.
Definition: CacheableKey.hpp:36
virtual Serializable * fromData(DataInput &input)
deserialize this object, typical implementation should return the 'this' pointer. ...
Definition: PdxInstance.hpp:507
This namespace contains all the Geode C++ API classes, enumerations and globals.