You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by rv...@apache.org on 2016/05/19 15:14:38 UTC
[31/51] [partial] incubator-geode git commit: Add source for geode
c++ and .net clients
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.cpp b/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.cpp
new file mode 100644
index 0000000..d3e0d94
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.cpp
@@ -0,0 +1,40 @@
+#include "SimpleCacheWriter.hpp"
+
+bool SimpleCacheWriter::beforeUpdate(const EntryEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeUpdate event.");
+ return true;
+}
+
+bool SimpleCacheWriter::beforeCreate(const EntryEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeCreate event.");
+ return true;
+}
+
+void SimpleCacheWriter::beforeInvalidate(const EntryEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeInvalidate event.");
+}
+
+bool SimpleCacheWriter::beforeDestroy(const EntryEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeDestroy event.");
+ return true;
+}
+
+void SimpleCacheWriter::beforeRegionInvalidate(const RegionEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeRegionInvalidate event.");
+}
+
+bool SimpleCacheWriter::beforeRegionDestroy(const RegionEvent& event)
+{
+ LOGINFO("SimpleCacheWriter: Got a beforeRegionDestroy event.");
+ return true;
+}
+
+void SimpleCacheWriter::close(const RegionPtr& region)
+{
+ LOGINFO("SimpleCacheWriter: Got a close event.");
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.hpp b/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.hpp
new file mode 100644
index 0000000..ea4e2d5
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/plugins/SimpleCacheWriter.hpp
@@ -0,0 +1,28 @@
+/*
+ * SimpleCacheWriter QuickStart Example.
+ *
+ * This is a simple implementation of a Cache Writer
+ * It merely prints the events captured from the GemFire Native Client.
+ *
+ */
+
+// Include the GemFire library.
+#include <gfcpp/GemfireCppCache.hpp>
+#include <gfcpp/CacheWriter.hpp>
+
+// Use the "gemfire" namespace.
+using namespace gemfire;
+
+// The SimpleCacheWriter class.
+class SimpleCacheWriter : public CacheWriter
+{
+public:
+ // The Cache Writer callbacks.
+ virtual bool beforeUpdate( const EntryEvent& event );
+ virtual bool beforeCreate( const EntryEvent& event );
+ virtual void beforeInvalidate( const EntryEvent& event );
+ virtual bool beforeDestroy( const EntryEvent& event );
+ virtual void beforeRegionInvalidate( const RegionEvent& event );
+ virtual bool beforeRegionDestroy( const RegionEvent& event );
+ virtual void close(const RegionPtr& region);
+};
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile b/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile
new file mode 100644
index 0000000..12c71f4
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile
@@ -0,0 +1,5 @@
+default: all
+
+SUBS = pdxauto
+
+include ../../GNUmakefile.common
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile.pdxauto
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile.pdxauto b/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile.pdxauto
new file mode 100644
index 0000000..099b441
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/GNUmakefile.pdxauto
@@ -0,0 +1,29 @@
+
+NAMESPACE = testobject
+CLASSES = \
+ PortfolioPdxAuto \
+ PositionPdxAuto \
+
+ifeq ($(strip $(NAMESPACE)),)
+ SERIALIZER_PATTERN = %Serializable.cpp
+else
+ SERIALIZER_PATTERN = $(NAMESPACE)_%Serializable.cpp
+endif
+SERIALIZERS = $(patsubst %,$(SERIALIZER_PATTERN),$(CLASSES))
+PDXAUTOSERIALIZER = $(GFCPP)/bin/pdxautoserializer
+PDXAUTOSERIALIZER_FLAGS =
+
+.PHONY: all
+all: $(CLASSES)
+
+.PHONY: clean
+clean:
+ rm -rf $(SERIALIZERS)
+
+.PHONY: $(CLASSES)
+$(CLASSES): % : $(SERIALIZER_PATTERN)
+
+$(SERIALIZER_PATTERN): %.hpp
+ $(PDXAUTOSERIALIZER) $(PDXAUTOSERIALIZER_FLAGS) $<
+
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/Portfolio.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/Portfolio.cpp b/geode-client-native/quickstart/cpp/queryobjects/Portfolio.cpp
new file mode 100644
index 0000000..36e78c8
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/Portfolio.cpp
@@ -0,0 +1,127 @@
+#include "Portfolio.hpp"
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+const char* Portfolio::secIds[] = { "SUN", "IBM", "YHOO", "GOOG", "MSFT",
+ "AOL", "APPL", "ORCL", "SAP", "DELL"};
+
+Portfolio::Portfolio(int32_t i, uint32_t size, CacheableStringArrayPtr nm):
+ names(nm){
+ ID = i;
+ char pkidbuf[1024];
+ sprintf(pkidbuf,"%d",i);
+ pkid = CacheableString::create(pkidbuf);
+ const char* statusStr = (i % 2 == 0) ? "active" : "inactive";
+ size_t statusSize = strlen( statusStr ) + 1;
+ status = new char[ statusSize ];
+ memcpy( status, statusStr, statusSize );
+ char buf[100];
+ sprintf( buf, "type%d", (i % 3) );
+ type = CacheableString::create( buf );
+ int numSecIds = sizeof(secIds)/sizeof(char*);
+ position1 = new Position(secIds[Position::cnt % numSecIds],
+ Position::cnt * 1000);
+ if (i % 2 != 0) {
+ position2 = new Position(secIds[Position::cnt % numSecIds],
+ Position::cnt * 1000);
+ }
+ else
+ {
+ position2 = NULLPTR;
+ }
+ positions = CacheableHashMap::create( );
+ positions->insert(CacheableString::create(secIds[Position::cnt % numSecIds]), position1);
+ newVal = new uint8_t[size+1];
+ memset(newVal,'B',size);
+ newVal[size] = '\0';
+ newValSize = size;
+ creationDate = CacheableDate::create( );
+ arrayNull = NULL;
+ arrayZeroSize = NULL;
+}
+
+Portfolio::~Portfolio() {
+ if ( newVal != NULL ) {
+ delete [] newVal;
+ newVal = NULL;
+ }
+ if ( status != NULL ) {
+ delete [] status;
+ status = NULL;
+ }
+}
+
+void Portfolio::toData( DataOutput& output ) const {
+ output.writeInt(ID);
+ output.writeObject(pkid);
+ output.writeObject(position1);
+ output.writeObject(position2);
+ output.writeObject(positions);
+ output.writeObject(type);
+ output.writeUTF(status);
+ output.writeObject(names);
+ output.writeBytes(newVal,newValSize+1);
+ output.writeObject(creationDate);
+ output.writeBytes(arrayNull,0);
+ output.writeBytes(arrayZeroSize,0);
+}
+
+Serializable* Portfolio::fromData( DataInput& input )
+{
+ input.readInt(&ID);
+ input.readObject(pkid);
+ input.readObject(position1);
+ input.readObject(position2);
+ input.readObject(positions);
+ input.readObject(type);
+ input.readUTF(&status);
+ input.readObject(names);
+ input.readBytes(&newVal,&newValSize);
+ input.readObject(creationDate);
+ int tmp = 0;
+ input.readBytes(&arrayNull,&tmp);
+ input.readBytes(&arrayZeroSize,&tmp);
+ return this;
+}
+
+CacheableStringPtr Portfolio::toString() const {
+ char idbuf[1024];
+ sprintf(idbuf,"PortfolioObject: [ ID=%d",ID);
+ char pkidbuf[1024];
+ if (pkid != NULLPTR) {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type->toString(), this->pkid->asChar());
+ }
+ else {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type->toString(), this->pkid->asChar());
+ }
+ char position1buf[2048];
+ if (position1 != NULLPTR) {
+ sprintf(position1buf, "\t\t\t P1: %s", position1->toString()->asChar());
+ }
+ else {
+ sprintf(position1buf, "\t\t\t P1: %s", "NULL");
+ }
+ char position2buf[2048];
+ if (position2 != NULLPTR) {
+ sprintf(position2buf, " P2: %s", position2->toString()->asChar());
+ }
+ else {
+ sprintf(position2buf, " P2: %s ]", "NULL");
+ }
+ char creationdatebuf[2048];
+ if (creationDate != NULLPTR) {
+ sprintf(creationdatebuf, "creation Date %s",
+ creationDate->toString()->asChar());
+ }
+ else {
+ sprintf(creationdatebuf, "creation Date %s", "NULL");
+ }
+
+ char stringBuf[7000];
+ sprintf(stringBuf, "%s%s%s%s%s",idbuf,pkidbuf,creationdatebuf,position1buf,position2buf);
+ return CacheableString::create( stringBuf );
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/Portfolio.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/Portfolio.hpp b/geode-client-native/quickstart/cpp/queryobjects/Portfolio.hpp
new file mode 100644
index 0000000..1054622
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/Portfolio.hpp
@@ -0,0 +1,155 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+#ifndef __PORTFOLIO_HPP__
+#define __PORTFOLIO_HPP__
+
+
+#include <gfcpp/GemfireCppCache.hpp>
+#include "Position.hpp"
+
+using namespace gemfire;
+
+namespace testobject {
+
+class TESTOBJECT_EXPORT Portfolio : public Serializable
+{
+ private:
+ int32_t ID;
+ CacheableStringPtr pkid;
+ PositionPtr position1;
+ PositionPtr position2;
+ CacheableHashMapPtr positions;
+ CacheableStringPtr type;
+ char* status;
+ CacheableStringArrayPtr names;
+ static const char* secIds[];
+ uint8_t* newVal;
+ int32_t newValSize;
+ CacheableDatePtr creationDate;
+ uint8_t* arrayNull;
+ uint8_t* arrayZeroSize;
+
+
+ inline uint32_t getObjectSize( const SerializablePtr& obj ) const
+ {
+ return (obj == NULLPTR ? 0 : obj->objectSize());
+ }
+
+
+ public:
+
+ Portfolio(): ID( 0 ), pkid(NULLPTR), type(NULLPTR), status(NULL),
+ newVal(NULL), creationDate(NULLPTR), arrayNull(NULL), arrayZeroSize(NULL) { }
+ Portfolio(int32_t id, uint32_t size=0, CacheableStringArrayPtr nm=NULLPTR);
+ virtual ~Portfolio();
+
+ virtual uint32_t objectSize() const
+ {
+ uint32_t objectSize = sizeof(Portfolio);
+ objectSize += getObjectSize( pkid );
+ objectSize += getObjectSize( position1 );
+ objectSize += getObjectSize( position2 );
+ objectSize += getObjectSize( positions );
+ objectSize += getObjectSize( type );
+ objectSize += (uint32_t)(status==NULL ? 0 : sizeof(char)*strlen(status));
+ objectSize += getObjectSize( names );
+ objectSize += sizeof(uint8_t) * newValSize;
+ objectSize += getObjectSize(creationDate);
+ return objectSize;
+ }
+
+ int32_t getID() {
+ return ID;
+ }
+ void showNames(const char* label)
+ {
+ LOGINFO(label);
+ if(names==NULLPTR)
+ {
+ LOGINFO("names is NULL");
+ return;
+ }
+ for(int i = 0; i < names->length(); i++)
+ {
+ LOGINFO("names[%d]=%s", i, names->operator[](i)->asChar());
+ }
+ }
+
+ CacheableStringPtr getPkid() {
+ return pkid;
+ }
+
+ PositionPtr getP1() {
+ return position1;
+ }
+
+ PositionPtr getP2() {
+ return position2;
+ }
+
+ CacheableHashMapPtr getPositions() {
+ return positions;
+ }
+
+ bool testMethod(bool booleanArg) {
+ return true;
+ }
+
+ char* getStatus() {
+ return status;
+ }
+
+ bool isActive() {
+ return ( strcmp(status, "active") == 0 ) ? true : false;
+ }
+
+ uint8_t* getNewVal() {
+ return newVal;
+ }
+
+ int32_t getNewValSize()
+ {
+ return newValSize;
+ }
+
+ CacheableStringPtr getType() {
+ return this->type;
+ }
+
+ CacheableDatePtr getCreationDate() {
+ return creationDate;
+ }
+
+ uint8_t* getArrayNull() {
+ return arrayNull;
+ }
+
+ uint8_t* getArrayZeroSize() {
+ return arrayZeroSize;
+ }
+
+ static Serializable* createDeserializable( ){
+ return new Portfolio();
+ }
+
+ virtual void toData( DataOutput& output ) const;
+ virtual Serializable* fromData( DataInput& input );
+ virtual int32_t classId( ) const { return 0x03; }
+ CacheableStringPtr toString() const;
+
+};
+
+typedef SharedPtr< Portfolio > PortfolioPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.cpp b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.cpp
new file mode 100644
index 0000000..533d755
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.cpp
@@ -0,0 +1,183 @@
+#include "PortfolioPdx.hpp"
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+const char* PortfolioPdx::secIds[] = { "SUN", "IBM", "YHOO", "GOOG", "MSFT",
+ "AOL", "APPL", "ORCL", "SAP", "DELL"};
+
+PortfolioPdx::PortfolioPdx(int32_t i, int32_t size, char** nm) : names(nm) {
+ id = i;
+
+ char pkidbuf[256];
+ sprintf(pkidbuf,"%d",i);
+ size_t strSize = strlen(pkidbuf) + 1;
+ pkid = new char[strSize];
+ memcpy(pkid, pkidbuf, strSize);
+
+ const char* statusStr = (i % 2 == 0) ? "active" : "inactive";
+ int32_t statusSize = static_cast<int32_t> (strlen( statusStr )) + 1;
+ status = new char[ statusSize ];
+ memcpy( status, statusStr, statusSize );
+
+ char buf[100];
+ sprintf( buf, "type%d", (i % 3) );
+ size_t strSize2 = strlen(buf) + 1;
+ type = new char[strSize2];
+ memcpy(type, buf, strSize2);
+
+ int numSecIds = sizeof(secIds)/sizeof(char*);
+ position1 = new PositionPdx(secIds[PositionPdx::cnt % numSecIds], PositionPdx::cnt * 1000);
+ if (i % 2 != 0) {
+ position2 = new PositionPdx(secIds[PositionPdx::cnt % numSecIds],PositionPdx::cnt * 1000);
+ }
+ else
+ {
+ position2 = NULLPTR;
+ }
+ positions = CacheableHashMap::create( );
+ positions->insert(CacheableString::create(secIds[PositionPdx::cnt % numSecIds]), position1);
+
+ if(size > 0){
+ newVal = new int8_t[size];
+ for(int index =0; index < size; index++){
+ newVal[index] = (int8_t)'B';
+ }
+ }
+ newValSize = size;
+
+ time_t timeVal = 1310447869;
+ creationDate = CacheableDate::create( timeVal );
+ arrayNull = NULL;
+ arrayZeroSize = new int8_t[0];
+
+}
+
+PortfolioPdx::~PortfolioPdx() {
+ if ( newVal != NULL ) {
+ delete [] newVal;
+ newVal = NULL;
+ }
+ if ( status != NULL ) {
+ delete [] status;
+ status = NULL;
+ }
+ if ( pkid != NULL ) {
+ delete [] pkid;
+ pkid = NULL;
+ }
+
+ if ( type != NULL ) {
+ delete [] type;
+ type = NULL;
+ }
+
+ if ( newVal != NULL ) {
+ delete [] newVal;
+ newVal = NULL;
+ }
+}
+
+void PortfolioPdx::toData( PdxWriterPtr pw ) {
+ pw->writeInt("ID", id);
+ pw->markIdentityField("ID");
+
+ pw->writeString("pkid", pkid);
+ pw->markIdentityField("pkid");
+
+ pw->writeObject("position1", position1);
+ pw->markIdentityField("position1");
+
+ pw->writeObject("position2", position2);
+ pw->markIdentityField("position2");
+
+ pw->writeObject("positions", positions);
+ pw->markIdentityField("positions");
+
+ pw->writeString("type", type);
+ pw->markIdentityField("type");
+
+ pw->writeString("status", status);
+ pw->markIdentityField("status");
+
+ pw->writeStringArray("names", names, 0);
+ pw->markIdentityField("names");
+
+ pw->writeByteArray("newVal", newVal, newValSize);
+ pw->markIdentityField("newVal");
+
+ pw->writeDate("creationDate", creationDate);
+ pw->markIdentityField("creationDate");
+
+ pw->writeByteArray("arrayNull", arrayNull,0);
+ pw->writeByteArray("arrayZeroSize", arrayZeroSize,0);
+
+}
+
+void PortfolioPdx::fromData( PdxReaderPtr pr )
+{
+ id = pr->readInt("ID");
+ pkid = pr->readString("pkid");
+
+ position1 = dynCast<PositionPdxPtr>(pr->readObject("position1"));
+ position2 = dynCast<PositionPdxPtr>(pr->readObject("position2"));
+ positions = dynCast<CacheableHashMapPtr>(pr->readObject("positions"));
+ type = pr->readString("type");
+ status = pr->readString("status");
+
+ int32_t strLenArray=0;
+ names = pr->readStringArray("names", strLenArray);
+ int32_t byteArrayLen=0;
+ newVal = pr->readByteArray("newVal", byteArrayLen);
+ creationDate = pr->readDate("creationDate");
+ int32_t arrayNullLen = 0;
+ arrayNull = pr->readByteArray("arrayNull", arrayNullLen);
+ int32_t arrayZeroSizeLen=0;
+ arrayZeroSize = pr->readByteArray("arrayZeroSize", arrayZeroSizeLen);
+
+}
+
+CacheableStringPtr PortfolioPdx::toString() const {
+ LOGINFO("PortfolioPdx::toString() Start");
+ char idbuf[1024];
+ sprintf(idbuf,"PortfolioPdxObject: [ id=%d ]",id);
+
+ char pkidbuf[1024];
+ if (pkid != NULL) {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type, this->pkid);
+ }
+ else {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type, this->pkid);
+ }
+ char position1buf[2048];
+ if (position1 != NULLPTR) {
+ sprintf(position1buf, "\t\t\t P1: %s", position1->toString()->asChar());
+ }
+ else {
+ sprintf(position1buf, "\t\t\t P1: %s", "NULL");
+ }
+ char position2buf[2048];
+ if (position2 != NULLPTR) {
+ sprintf(position2buf, " P2: %s", position2->toString()->asChar());
+ }
+ else {
+ sprintf(position2buf, " P2: %s ]", "NULL");
+ }
+ char creationdatebuf[2048];
+ if (creationDate != NULLPTR) {
+ sprintf(creationdatebuf, "creation Date %s",
+ creationDate->toString()->asChar());
+ }
+ else {
+ sprintf(creationdatebuf, "creation Date %s", "NULL");
+ }
+
+ char stringBuf[7000];
+ sprintf(stringBuf, "%s%s%s%s%s",idbuf,pkidbuf,creationdatebuf,position1buf,position2buf);
+ return CacheableString::create( stringBuf );
+
+ return CacheableString::create( idbuf );
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.hpp b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.hpp
new file mode 100644
index 0000000..fe78806
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdx.hpp
@@ -0,0 +1,126 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+#ifndef __PORTFOLIOPDX_HPP__
+#define __PORTFOLIOPDX_HPP__
+
+#include "PositionPdx.hpp"
+
+using namespace gemfire;
+
+namespace testobject {
+
+class TESTOBJECT_EXPORT PortfolioPdx : public PdxSerializable
+{
+ private:
+ int32_t id;
+
+ char* pkid;
+
+ PositionPdxPtr position1;
+ PositionPdxPtr position2;
+ CacheableHashMapPtr positions;
+ char* type;
+ char* status;
+ char** names;
+ static const char* secIds[];
+ int8_t* newVal;
+ int32_t newValSize;
+ CacheableDatePtr creationDate;
+ int8_t* arrayNull;
+ int8_t* arrayZeroSize;
+
+ public:
+
+ PortfolioPdx(): id( 0 ), pkid(NULL), type(NULL), status(NULL),
+ newVal(NULL), creationDate(NULLPTR), arrayNull(NULL), arrayZeroSize(NULL) { }
+
+ PortfolioPdx(int32_t id, int32_t size=0, char** nm=NULL);
+
+ virtual ~PortfolioPdx();
+
+ int32_t getID() {
+ return id;
+ }
+
+ char* getPkid() {
+ return pkid;
+ }
+
+ PositionPdxPtr getP1() {
+ return position1;
+ }
+
+ PositionPdxPtr getP2() {
+ return position2;
+ }
+
+ CacheableHashMapPtr getPositions() {
+ return positions;
+ }
+
+ bool testMethod(bool booleanArg) {
+ return true;
+ }
+
+ char* getStatus() {
+ return status;
+ }
+
+ bool isActive() {
+ return ( strcmp(status, "active") == 0 ) ? true : false;
+ }
+
+ int8_t* getNewVal() {
+ return newVal;
+ }
+
+ int32_t getNewValSize()
+ {
+ return newValSize;
+ }
+
+ const char* getClassName(){
+ return this->type;
+ }
+
+ CacheableDatePtr getCreationDate() {
+ return creationDate;
+ }
+
+ int8_t* getArrayNull() {
+ return arrayNull;
+ }
+
+ int8_t* getArrayZeroSize() {
+ return arrayZeroSize;
+ }
+
+ static PdxSerializable* createDeserializable( ){
+ return new PortfolioPdx();
+ }
+
+ const char* getClassName()const {
+ return "testobject.PortfolioPdx";
+ }
+
+ virtual void toData( PdxWriterPtr pw ) ;
+ virtual void fromData(PdxReaderPtr pr);
+
+ CacheableStringPtr toString() const;
+
+};
+
+typedef SharedPtr< PortfolioPdx > PortfolioPdxPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.cpp b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.cpp
new file mode 100644
index 0000000..29b3b08
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.cpp
@@ -0,0 +1,125 @@
+#include "PortfolioPdxAuto.hpp"
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+const char* /*PortfolioPdx::*/secIds[] = { "SUN", "IBM", "YHOO", "GOOG", "MSFT",
+ "AOL", "APPL", "ORCL", "SAP", "DELL"};
+
+PortfolioPdxAuto::PortfolioPdxAuto(int32_t i, int32_t size, char** nm)/* : names(nm)*/ {
+ id = i;
+
+ char pkidbuf[256];
+ sprintf(pkidbuf,"%d",i);
+ size_t strSize = strlen(pkidbuf) + 1;
+ pkid = new char[strSize];
+ memcpy(pkid, pkidbuf, strSize);
+
+ const char* statusStr = (i % 2 == 0) ? "active" : "inactive";
+ int32_t statusSize = static_cast<int32_t> (strlen( statusStr )) + 1;
+ status = new char[ statusSize ];
+ memcpy( status, statusStr, statusSize );
+
+ char buf[100];
+ sprintf( buf, "type%d", (i % 3) );
+ size_t strSize2 = strlen(buf) + 1;
+ type = new char[strSize2];
+ memcpy(type, buf, strSize2);
+
+ int numSecIds = sizeof(secIds)/sizeof(char*);
+ position1 = new PositionPdxAuto(secIds[PositionPdxAuto::cnt % numSecIds], PositionPdxAuto::cnt * 1000);
+ if (i % 2 != 0) {
+ position2 = new PositionPdxAuto(secIds[PositionPdxAuto::cnt % numSecIds],PositionPdxAuto::cnt * 1000);
+ }
+ else
+ {
+ position2 = NULLPTR;
+ }
+ positions = CacheableHashMap::create( );
+ positions->insert(CacheableString::create(secIds[PositionPdxAuto::cnt % numSecIds]), position1);
+
+ if(size > 0){
+ newVal = new int8_t[size];
+ for(int index =0; index < size; index++){
+ newVal[index] = (int8_t)'B';
+ }
+ }
+ newValSize = size;
+
+ time_t timeVal = 1310447869;
+ creationDate = CacheableDate::create( timeVal );
+ arrayNull = NULL;
+ arrayZeroSize = new int8_t[0];
+ arrayZeroSizeSize = 1;
+
+}
+
+PortfolioPdxAuto::~PortfolioPdxAuto() {
+ if ( newVal != NULL ) {
+ delete [] newVal;
+ newVal = NULL;
+ }
+ if ( status != NULL ) {
+ delete [] status;
+ status = NULL;
+ }
+ if ( pkid != NULL ) {
+ delete [] pkid;
+ pkid = NULL;
+ }
+
+ if ( type != NULL ) {
+ delete [] type;
+ type = NULL;
+ }
+
+ if ( newVal != NULL ) {
+ delete [] newVal;
+ newVal = NULL;
+ }
+}
+
+CacheableStringPtr PortfolioPdxAuto::toString() const {
+ LOGINFO("PortfolioPdxAuto::toString() Start");
+ char idbuf[1024];
+ sprintf(idbuf,"PortfolioPdxObject: [ id=%d ]",id);
+
+ char pkidbuf[1024];
+ if (pkid != NULL) {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type, this->pkid);
+ }
+ else {
+ sprintf(pkidbuf, " status=%s type=%s pkid=%s\n", this->status,
+ this->type, this->pkid);
+ }
+ char position1buf[2048];
+ if (position1 != NULLPTR) {
+ sprintf(position1buf, "\t\t\t P1: %s", position1->toString()->asChar());
+ }
+ else {
+ sprintf(position1buf, "\t\t\t P1: %s", "NULL");
+ }
+ char position2buf[2048];
+ if (position2 != NULLPTR) {
+ sprintf(position2buf, " P2: %s", position2->toString()->asChar());
+ }
+ else {
+ sprintf(position2buf, " P2: %s ]", "NULL");
+ }
+ char creationdatebuf[2048];
+ if (creationDate != NULLPTR) {
+ sprintf(creationdatebuf, "creation Date %s",
+ creationDate->toString()->asChar());
+ }
+ else {
+ sprintf(creationdatebuf, "creation Date %s", "NULL");
+ }
+
+ char stringBuf[7000];
+ sprintf(stringBuf, "%s%s%s%s%s",idbuf,pkidbuf,creationdatebuf,position1buf,position2buf);
+ return CacheableString::create( stringBuf );
+
+ return CacheableString::create( idbuf );
+}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
new file mode 100644
index 0000000..cc07b56
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PortfolioPdxAuto.hpp
@@ -0,0 +1,127 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+#ifndef __PORTFOLIOPDX_AUTO_HPP__
+#define __PORTFOLIOPDX_AUTO_HPP__
+
+#include "PositionPdxAuto.hpp"
+
+using namespace gemfire;
+
+namespace testobject {
+#define GFARRAYSIZE(X)
+#define GFID
+class PortfolioPdxAuto : public gemfire::PdxSerializable
+{
+ private:
+ GFID int32_t id;
+
+ GFID char* pkid;
+
+ GFID PositionPdxPtr position1;
+ GFID PositionPdxPtr position2;
+ GFID CacheableHashMapPtr positions;
+ GFID char* type;
+ GFID char* status;
+ //char** names;
+ //static const char* secIds[];
+ GFID int8_t* newVal;
+ GFARRAYSIZE(newVal) int32_t newValSize;
+ GFID CacheableDatePtr creationDate;
+ GFID int8_t* arrayNull;
+ GFARRAYSIZE(arrayNull) int32_t arrayNullSize;
+
+ GFID int8_t* arrayZeroSize;
+ GFARRAYSIZE(arrayZeroSize) int32_t arrayZeroSizeSize;
+
+ public:
+
+ PortfolioPdxAuto(): id( 0 ), pkid(NULL), type(NULL), status(NULL),
+ newVal(NULL), creationDate(NULLPTR), arrayNull(NULL), arrayNullSize(0), arrayZeroSize(NULL), arrayZeroSizeSize(0) { }
+
+ PortfolioPdxAuto(int32_t id, int32_t size=0, char** nm=NULL);
+
+ virtual ~PortfolioPdxAuto();
+
+ int32_t getID() {
+ return id;
+ }
+
+ char* getPkid() {
+ return pkid;
+ }
+
+ PositionPdxPtr getP1() {
+ return position1;
+ }
+
+ PositionPdxPtr getP2() {
+ return position2;
+ }
+
+ CacheableHashMapPtr getPositions() {
+ return positions;
+ }
+
+ bool testMethod(bool booleanArg) {
+ return true;
+ }
+
+ char* getStatus() {
+ return status;
+ }
+
+ bool isActive() {
+ return ( strcmp(status, "active") == 0 ) ? true : false;
+ }
+
+ int8_t* getNewVal() {
+ return newVal;
+ }
+
+ int32_t getNewValSize()
+ {
+ return newValSize;
+ }
+
+ const char* getClassName(){
+ return this->type;
+ }
+
+ CacheableDatePtr getCreationDate() {
+ return creationDate;
+ }
+
+ int8_t* getArrayNull() {
+ return arrayNull;
+ }
+
+ int8_t* getArrayZeroSize() {
+ return arrayZeroSize;
+ }
+
+
+ const char* getClassName() const;
+
+ virtual void toData( PdxWriterPtr pw ) ;
+ virtual void fromData(PdxReaderPtr pr);
+
+ static PdxSerializable* createDeserializable( );
+
+ CacheableStringPtr toString() const;
+
+};
+
+typedef SharedPtr< PortfolioPdxAuto > PortfolioPdxPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/Position.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/Position.cpp b/geode-client-native/quickstart/cpp/queryobjects/Position.cpp
new file mode 100644
index 0000000..499e7bb
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/Position.cpp
@@ -0,0 +1,98 @@
+#include "Position.hpp"
+#include <cwchar>
+#include <wchar.h>
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+int32_t Position::cnt = 0;
+
+Position::Position()
+{
+ init();
+}
+
+Position::Position(const char* id, int32_t out) {
+ init();
+ secId = CacheableString::create(id);
+ qty = out - (cnt%2==0?1000:100);
+ mktValue = qty * 1.2345998;
+ sharesOutstanding = out;
+ secType = ( wchar_t * )malloc( ( wcslen( L"a" ) + 1 ) * sizeof( wchar_t ) );
+ wcscpy( secType, L"a" );
+ pid = cnt++;
+}
+
+Position::~Position() {
+ if (secType != NULL) {
+ free(secType);
+ }
+}
+
+void Position::init()
+{
+ avg20DaysVol = 0;
+ bondRating = NULLPTR;
+ convRatio = 0.0;
+ country = NULLPTR;
+ delta = 0.0;
+ industry = 0;
+ issuer = 0;
+ mktValue = 0.0;
+ qty=0.0;
+ secId = NULLPTR;
+ secLinks = NULLPTR;
+ secType = NULL;
+ sharesOutstanding = 0;
+ underlyer = NULLPTR;
+ volatility=0;
+ pid=0;
+}
+
+void Position::toData( gemfire::DataOutput& output ) const {
+ output.writeInt(avg20DaysVol);
+ output.writeObject(bondRating);
+ output.writeDouble(convRatio);
+ output.writeObject(country);
+ output.writeDouble(delta);
+ output.writeInt(industry);
+ output.writeInt(issuer);
+ output.writeDouble(mktValue);
+ output.writeDouble(qty);
+ output.writeObject(secId);
+ output.writeObject(secLinks);
+ output.writeUTF(secType);
+ output.writeInt(sharesOutstanding);
+ output.writeObject(underlyer);
+ output.writeInt(volatility);
+ output.writeInt(pid);
+}
+
+gemfire::Serializable* Position::fromData( gemfire::DataInput& input ){
+ input.readInt(&avg20DaysVol);
+ input.readObject(bondRating);
+ input.readDouble(&convRatio);
+ input.readObject(country);
+ input.readDouble(&delta);
+ input.readInt(&industry);
+ input.readInt(&issuer);
+ input.readDouble(&mktValue);
+ input.readDouble(&qty);
+ input.readObject(secId);
+ input.readObject(secLinks);
+ input.readUTF(&secType);
+ input.readInt(&sharesOutstanding);
+ input.readObject(underlyer);
+ input.readInt(&volatility);
+ input.readInt(&pid);
+ return this;
+}
+
+CacheableStringPtr Position::toString() const {
+ char buf[2048];
+ sprintf(buf, "Position Object:[ secId=%s type=%ls sharesOutstanding=%d id=%d ]",
+ secId->toString(), this->secType, this->sharesOutstanding, this->pid);
+ return CacheableString::create( buf );
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/Position.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/Position.hpp b/geode-client-native/quickstart/cpp/queryobjects/Position.hpp
new file mode 100644
index 0000000..07c9734
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/Position.hpp
@@ -0,0 +1,101 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+
+#ifndef __POSITION_HPP__
+#define __POSITION_HPP__
+
+#include <gfcpp/GemfireCppCache.hpp>
+#include <string.h>
+
+#ifdef _WIN32
+#ifdef BUILD_TESTOBJECT
+#define TESTOBJECT_EXPORT LIBEXP
+#else
+#define TESTOBJECT_EXPORT LIBIMP
+#endif
+#else
+#define TESTOBJECT_EXPORT
+#endif
+
+using namespace gemfire;
+
+namespace testobject {
+
+class TESTOBJECT_EXPORT Position : public gemfire::Serializable
+{
+ private:
+ int64_t avg20DaysVol;
+ CacheableStringPtr bondRating;
+ double convRatio;
+ CacheableStringPtr country;
+ double delta;
+ int64_t industry;
+ int64_t issuer;
+ double mktValue;
+ double qty;
+ CacheableStringPtr secId;
+ CacheableStringPtr secLinks;
+ //wchar_t* secType;
+ wchar_t* secType;
+ int32_t sharesOutstanding;
+ CacheableStringPtr underlyer;
+ int64_t volatility;
+ int32_t pid;
+
+ public:
+ static int32_t cnt;
+
+ Position();
+ Position(const char* id, int32_t out);
+ virtual ~Position();
+ virtual void toData( gemfire::DataOutput& output ) const;
+ virtual gemfire::Serializable* fromData( gemfire::DataInput& input );
+ virtual int32_t classId( ) const { return 0x02; }
+ CacheableStringPtr toString() const;
+
+ virtual uint32_t objectSize() const {
+ uint32_t objectSize = sizeof(Position);
+ objectSize += bondRating->objectSize();
+ objectSize += country->objectSize();
+ objectSize += secId->objectSize();
+ objectSize += secLinks->objectSize();
+ objectSize += (uint32_t)(sizeof(wchar_t) * wcslen(secType));
+ objectSize += underlyer->objectSize();
+ return objectSize;
+
+ }
+
+ static void resetCounter() {
+ cnt = 0;
+ }
+ CacheableStringPtr getSecId() {
+ return secId;
+ }
+ int32_t getId() {
+ return pid;
+ }
+ int32_t getSharesOutstanding() {
+ return sharesOutstanding;
+ }
+ static gemfire::Serializable* createDeserializable( ){
+ return new Position();
+ }
+
+ private:
+ void init();
+};
+
+typedef gemfire::SharedPtr< Position > PositionPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.cpp b/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.cpp
new file mode 100644
index 0000000..ecf91c2
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.cpp
@@ -0,0 +1,167 @@
+#include "PositionPdx.hpp"
+#include <cwchar>
+#include <wchar.h>
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+int32_t PositionPdx::cnt = 0;
+
+PositionPdx::PositionPdx()
+{
+ init();
+}
+
+PositionPdx::PositionPdx(const char* id, int32_t out) {
+ init();
+
+ size_t strSize = strlen(id) + 1;
+ secId = new char[strSize];
+ memcpy(secId, id, strSize);
+
+ qty = out * (cnt%2 == 0 ? 10.0 : 100.0);
+ mktValue = qty * 1.2345998;
+ sharesOutstanding = out;
+ //secType = ( wchar_t * )malloc( ( wcslen( L"a" ) + 1 ) * sizeof( wchar_t ) );
+ secType = new char[ ( strlen( "a" ) + 1 ) ];
+ strcpy( secType, "a" );
+
+ pid = cnt++;
+}
+
+// This constructor is just for some internal data validation test
+PositionPdx::PositionPdx(int32_t iForExactVal) {
+ init();
+
+ char * id = new char[iForExactVal+2];
+ for(int i=0;i<=iForExactVal; i++)
+ {
+ id[i] = 'a';
+ }
+ id[iForExactVal+1] = '\0';
+ size_t strSize = strlen(id) + 1;
+ secId = new char[strSize];
+ memcpy(secId, id, strSize);
+
+ delete [] id;
+ qty = (iForExactVal%2==0?1000:100);
+ mktValue = qty * 2;
+ sharesOutstanding = iForExactVal;
+ //secType = ( wchar_t * )malloc( ( wcslen( L"a" ) + 1 ) * sizeof( wchar_t ) );
+ secType = new char [ ( strlen( "a" ) + 1 ) ];
+ strcpy( secType, "a" );
+ pid = iForExactVal;
+}
+
+PositionPdx::~PositionPdx() {
+ if (secType != NULL) {
+ //free(secType);
+ delete [] secType;
+ secType = NULL;
+ }
+
+ if (secId != NULL) {
+ //free(secId);
+ delete [] secId;
+ secId = NULL;
+ }
+}
+
+void PositionPdx::init()
+{
+
+ avg20DaysVol = 0;
+ bondRating = NULL;
+ convRatio = 0.0;
+ country = NULL;
+ delta = 0.0;
+ industry = 0;
+ issuer = 0;
+ mktValue = 0.0;
+ qty=0.0;
+ secId = NULL;
+ secLinks = NULL;
+ secType = NULL;
+ sharesOutstanding = 0;
+ underlyer = NULL;
+ volatility=0;
+ pid=0;
+}
+
+void PositionPdx::toData( PdxWriterPtr pw) {
+ pw->writeLong("avg20DaysVol", avg20DaysVol);
+ pw->markIdentityField("avg20DaysVol");
+
+ pw->writeString("bondRating", bondRating);
+ pw->markIdentityField("bondRating");
+
+ pw->writeDouble("convRatio", convRatio);
+ pw->markIdentityField("convRatio");
+
+ pw->writeString("country", country);
+ pw->markIdentityField("country");
+
+ pw->writeDouble("delta", delta);
+ pw->markIdentityField("delta");
+
+ pw->writeLong("industry", industry);
+ pw->markIdentityField("industry");
+
+ pw->writeLong("issuer", issuer);
+ pw->markIdentityField("issuer");
+
+ pw->writeDouble("mktValue", mktValue);
+ pw->markIdentityField("mktValue");
+
+ pw->writeDouble("qty", qty);
+ pw->markIdentityField("qty");
+
+ pw->writeString("secId", secId);
+ pw->markIdentityField("secId");
+
+ pw->writeString("secLinks", secLinks);
+ pw->markIdentityField("secLinks");
+
+ pw->writeString("secType", secType);
+ pw->markIdentityField("secType");
+
+ pw->writeInt("sharesOutstanding", sharesOutstanding);
+ pw->markIdentityField("sharesOutstanding");
+
+ pw->writeString("underlyer", underlyer);
+ pw->markIdentityField("underlyer");
+
+ pw->writeLong("volatility", volatility);
+ pw->markIdentityField("volatility");
+
+ pw->writeInt("pid", pid);
+ pw->markIdentityField("pid");
+}
+
+void PositionPdx::fromData( PdxReaderPtr pr ){
+
+ avg20DaysVol = pr->readLong("avg20DaysVol");
+ bondRating = pr->readString("bondRating");
+ convRatio = pr->readDouble("convRatio");
+ country = pr->readString("country");
+ delta = pr->readDouble("delta");
+ industry = pr->readLong("industry");
+ issuer = pr->readLong("issuer");
+ mktValue = pr->readDouble("mktValue");
+ qty = pr->readDouble("qty");
+ secId = pr->readString("secId");
+ secLinks = pr->readString("secLinks");
+ secType = pr->readString("secType");
+ sharesOutstanding = pr->readInt("sharesOutstanding");
+ underlyer = pr->readString("underlyer");
+ volatility = pr->readLong("volatility");
+ pid = pr->readInt("pid");
+}
+
+CacheableStringPtr PositionPdx::toString() const {
+ char buf[1024];
+ sprintf(buf, "PositionPdx Object:[ id=%d ]", this->pid);
+ return CacheableString::create( buf );
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.hpp b/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.hpp
new file mode 100644
index 0000000..e0cde44
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PositionPdx.hpp
@@ -0,0 +1,111 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+
+#ifndef __POSITIONPDX_HPP__
+#define __POSITIONPDX_HPP__
+
+#include <gfcpp/GemfireCppCache.hpp>
+#include <gfcpp/PdxSerializable.hpp>
+#include <gfcpp/PdxWriter.hpp>
+#include <gfcpp/PdxReader.hpp>
+#include <string.h>
+
+#ifdef _WIN32
+#ifdef BUILD_TESTOBJECT
+#define TESTOBJECT_EXPORT LIBEXP
+#else
+#define TESTOBJECT_EXPORT LIBIMP
+#endif
+#else
+#define TESTOBJECT_EXPORT
+#endif
+
+using namespace gemfire;
+
+namespace testobject {
+
+class TESTOBJECT_EXPORT PositionPdx : public gemfire::PdxSerializable
+{
+ private:
+
+ int64_t avg20DaysVol;
+ char* bondRating;
+ double convRatio;
+ char* country;
+ double delta;
+ int64_t industry;
+ int64_t issuer;
+ double mktValue;
+ double qty;
+ char* secId;
+ char* secLinks;
+ //wchar_t* secType;
+ //wchar_t* secType;
+ char* secType;
+ int32_t sharesOutstanding;
+ char* underlyer;
+ int64_t volatility;
+
+ int32_t pid;
+
+ public:
+
+ static int32_t cnt;
+
+ PositionPdx();
+ PositionPdx(const char* id, int32_t out);
+ // This constructor is just for some internal data validation test
+ PositionPdx(int32_t iForExactVal);
+ virtual ~PositionPdx();
+ virtual void toData( PdxWriterPtr pw ) ;
+ virtual void fromData( PdxReaderPtr pr );
+
+ CacheableStringPtr toString() const;
+
+ virtual uint32_t objectSize() const {
+ uint32_t objectSize = sizeof(PositionPdx);
+ return objectSize;
+ }
+
+ static void resetCounter() {
+ cnt = 0;
+ }
+
+ char* getSecId() {
+ return secId;
+ }
+
+ int32_t getId() {
+ return pid;
+ }
+
+ int32_t getSharesOutstanding() {
+ return sharesOutstanding;
+ }
+
+ static PdxSerializable* createDeserializable( ){
+ return new PositionPdx();
+ }
+
+ const char* getClassName()const {
+ return "testobject.PositionPdx";
+ }
+
+ private:
+ void init();
+};
+
+typedef gemfire::SharedPtr<PositionPdx> PositionPdxPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.cpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.cpp b/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.cpp
new file mode 100644
index 0000000..852fcd9
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.cpp
@@ -0,0 +1,98 @@
+#include "PositionPdxAuto.hpp"
+#include <cwchar>
+#include <wchar.h>
+#include <malloc.h>
+
+using namespace gemfire;
+using namespace testobject;
+
+int32_t PositionPdxAuto::cnt = 0;
+
+PositionPdxAuto::PositionPdxAuto()
+{
+ init();
+}
+
+PositionPdxAuto::PositionPdxAuto(const char* id, int32_t out) {
+ init();
+
+ size_t strSize = strlen(id) + 1;
+ secId = new char[strSize];
+ memcpy(secId, id, strSize);
+
+ qty = out * (cnt%2 == 0 ? 10.0 : 100.0);
+ mktValue = qty * 1.2345998;
+ sharesOutstanding = out;
+ //secType = ( wchar_t * )malloc( ( wcslen( L"a" ) + 1 ) * sizeof( wchar_t ) );
+ secType = new char[ ( strlen( "a" ) + 1 ) ];
+ strcpy( secType, "a" );
+
+ pid = cnt++;
+}
+
+// This constructor is just for some internal data validation test
+PositionPdxAuto::PositionPdxAuto(int32_t iForExactVal) {
+ init();
+
+ char * id = new char[iForExactVal+2];
+ for(int i=0;i<=iForExactVal; i++)
+ {
+ id[i] = 'a';
+ }
+ id[iForExactVal+1] = '\0';
+ size_t strSize = strlen(id) + 1;
+ secId = new char[strSize];
+ memcpy(secId, id, strSize);
+
+ delete [] id;
+ qty = (iForExactVal%2==0?1000:100);
+ mktValue = qty * 2;
+ sharesOutstanding = iForExactVal;
+ //secType = ( wchar_t * )malloc( ( wcslen( L"a" ) + 1 ) * sizeof( wchar_t ) );
+ secType = new char [ ( strlen( "a" ) + 1 ) ];
+ strcpy( secType, "a" );
+ pid = iForExactVal;
+}
+
+PositionPdxAuto::~PositionPdxAuto() {
+ if (secType != NULL) {
+ //free(secType);
+ delete [] secType;
+ secType = NULL;
+ }
+
+ if (secId != NULL) {
+ //free(secId);
+ delete [] secId;
+ secId = NULL;
+ }
+}
+
+void PositionPdxAuto::init()
+{
+
+ avg20DaysVol = 0;
+ bondRating = NULL;
+ convRatio = 0.0;
+ country = NULL;
+ delta = 0.0;
+ industry = 0;
+ issuer = 0;
+ mktValue = 0.0;
+ qty=0.0;
+ secId = NULL;
+ secLinks = NULL;
+ secType = NULL;
+ sharesOutstanding = 0;
+ underlyer = NULL;
+ volatility=0;
+ pid=0;
+}
+
+
+CacheableStringPtr PositionPdxAuto::toString() const {
+ char buf[1024];
+ sprintf(buf, "PositionPdx Object:[ id=%d ]", this->pid);
+ return CacheableString::create( buf );
+}
+
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.hpp b/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
new file mode 100644
index 0000000..b3820e4
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/queryobjects/PositionPdxAuto.hpp
@@ -0,0 +1,109 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+/*
+ * @brief User class for testing the put functionality for object.
+ */
+
+
+#ifndef __POSITIONPDX_AUTO__HPP__
+#define __POSITIONPDX_AUTO__HPP__
+
+#include <gfcpp/GemfireCppCache.hpp>
+#include <gfcpp/PdxSerializable.hpp>
+#include <gfcpp/PdxWriter.hpp>
+#include <gfcpp/PdxReader.hpp>
+#include <string.h>
+
+#ifdef _WIN32
+#ifdef BUILD_TESTOBJECT
+#define TESTOBJECT_EXPORT LIBEXP
+#else
+#define TESTOBJECT_EXPORT LIBIMP
+#endif
+#else
+#define TESTOBJECT_EXPORT
+#endif
+
+using namespace gemfire;
+
+namespace testobject {
+
+#define GFID
+
+class PositionPdxAuto : public gemfire::PdxSerializable
+{
+ private:
+
+ GFID int64_t avg20DaysVol;
+ GFID char* bondRating;
+ GFID double convRatio;
+ GFID char* country;
+ GFID double delta;
+ GFID int64_t industry;
+ GFID int64_t issuer;
+ GFID double mktValue;
+ GFID double qty;
+ GFID char* secId;
+ GFID char* secLinks;
+ //wchar_t* secType;
+ //wchar_t* secType;
+ GFID char* secType;
+ GFID int32_t sharesOutstanding;
+ GFID char* underlyer;
+ GFID int64_t volatility;
+
+ GFID int32_t pid;
+
+ public:
+
+ static int32_t cnt;
+
+ PositionPdxAuto();
+ PositionPdxAuto(const char* id, int32_t out);
+ // This constructor is just for some internal data validation test
+ PositionPdxAuto(int32_t iForExactVal);
+ virtual ~PositionPdxAuto();
+ virtual void toData( PdxWriterPtr pw ) ;
+ virtual void fromData( PdxReaderPtr pr );
+
+ CacheableStringPtr toString() const;
+
+ virtual uint32_t objectSize() const {
+ uint32_t objectSize = sizeof(PositionPdxAuto);
+ return objectSize;
+ }
+
+ static void resetCounter() {
+ cnt = 0;
+ }
+
+ char* getSecId() {
+ return secId;
+ }
+
+ int32_t getId() {
+ return pid;
+ }
+
+ int32_t getSharesOutstanding() {
+ return sharesOutstanding;
+ }
+
+ static PdxSerializable* createDeserializable( );
+
+ const char* getClassName() const;
+
+ private:
+ void init();
+};
+
+typedef gemfire::SharedPtr<PositionPdxAuto> PositionPdxPtr;
+
+}
+#endif
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/vsprojects/BasicOperationsC++/BasicOperationsC++.vcxproj
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/vsprojects/BasicOperationsC++/BasicOperationsC++.vcxproj b/geode-client-native/quickstart/cpp/vsprojects/BasicOperationsC++/BasicOperationsC++.vcxproj
new file mode 100755
index 0000000..c17d437
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/vsprojects/BasicOperationsC++/BasicOperationsC++.vcxproj
@@ -0,0 +1,142 @@
+\ufeff<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>BasicOperations C++</ProjectName>
+ <ProjectGuid>{5D8C303F-CF57-4AD7-A755-068A0C488CB8}</ProjectGuid>
+ <RootNamespace>BasicOperations C++</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">BasicOperations</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">BasicOperations</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">BasicOperations</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">BasicOperations</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/debug/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\BasicOperations.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\BasicOperations.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\BasicOperations.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\BasicOperations.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\BasicOperations.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/vsprojects/CqQueryC++/CqQueryC++.vcxproj
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/vsprojects/CqQueryC++/CqQueryC++.vcxproj b/geode-client-native/quickstart/cpp/vsprojects/CqQueryC++/CqQueryC++.vcxproj
new file mode 100755
index 0000000..3f7e310
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/vsprojects/CqQueryC++/CqQueryC++.vcxproj
@@ -0,0 +1,164 @@
+\ufeff<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>CqQuery C++</ProjectName>
+ <ProjectGuid>{4DCC2C45-74E0-4C99-B99D-271EAC2A2027}</ProjectGuid>
+ <RootNamespace>CqQuery C++</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">CqQuery</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">CqQuery</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">CqQuery</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">CqQuery</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>BUILD_TESTOBJECT;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/debug/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\CqQuery.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PostBuildEvent>
+ <Command>del /q "$(SolutionDir)\cpp\*.exp"
+del /q "$(SolutionDir)\cpp\*.lib"
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>BUILD_TESTOBJECT;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\CqQuery.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ <PostBuildEvent>
+ <Command>del /q "$(SolutionDir)\cpp\*.exp"
+del /q "$(SolutionDir)\cpp\*.lib"
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>BUILD_TESTOBJECT;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\CqQuery.exe</OutputFile>
+ </Link>
+ <PostBuildEvent>
+ <Command>del /q "$(SolutionDir)\cpp\*.exp"
+del /q "$(SolutionDir)\cpp\*.lib"
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>BUILD_TESTOBJECT;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\CqQuery.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>del /q "$(SolutionDir)\cpp\*.exp"
+del /q "$(SolutionDir)\cpp\*.lib"
+</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\CqQuery.cpp" />
+ <ClCompile Include="..\..\queryobjects\Portfolio.cpp" />
+ <ClCompile Include="..\..\queryobjects\Position.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/vsprojects/DataExpirationC++/DataExpirationC++.vcxproj
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/vsprojects/DataExpirationC++/DataExpirationC++.vcxproj b/geode-client-native/quickstart/cpp/vsprojects/DataExpirationC++/DataExpirationC++.vcxproj
new file mode 100755
index 0000000..134accc
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/vsprojects/DataExpirationC++/DataExpirationC++.vcxproj
@@ -0,0 +1,141 @@
+\ufeff<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>DataExpiration C++</ProjectName>
+ <ProjectGuid>{0418CF54-8262-435D-A472-3FC43640FA59}</ProjectGuid>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">DataExpiration</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">DataExpiration</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">DataExpiration</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">DataExpiration</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/debug/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\DataExpiration.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\DataExpiration.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\DataExpiration.exe</OutputFile>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\DataExpiration.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\DataExpiration.cpp" />
+ <ClCompile Include="..\..\plugins\SimpleCacheListener.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/cpp/vsprojects/DeltaC++/DeltaC++.vcxproj
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/cpp/vsprojects/DeltaC++/DeltaC++.vcxproj b/geode-client-native/quickstart/cpp/vsprojects/DeltaC++/DeltaC++.vcxproj
new file mode 100755
index 0000000..33cfd27
--- /dev/null
+++ b/geode-client-native/quickstart/cpp/vsprojects/DeltaC++/DeltaC++.vcxproj
@@ -0,0 +1,140 @@
+\ufeff<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectName>Delta C++</ProjectName>
+ <ProjectGuid>{CA044B76-5529-4C38-9B09-8FA9444E37E8}</ProjectGuid>
+ <RootNamespace>Delta C++</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)\cpp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)$(Configuration)\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Delta</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Delta</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Delta</TargetName>
+ <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Delta</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/debug/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\Delta.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <Optimization>Disabled</Optimization>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/../hidden/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\Delta.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\Delta.exe</OutputFile>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ </Midl>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(GFCPP)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>$(GFCPP)/lib/gfcppcache.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(SolutionDir)\cpp\Delta.exe</OutputFile>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\Delta.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file