http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/DistributedSystem.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/DistributedSystem.cpp b/src/clicache/src/DistributedSystem.cpp index bd29a91..239d7e2 100644 --- a/src/clicache/src/DistributedSystem.cpp +++ b/src/clicache/src/DistributedSystem.cpp @@ -15,8 +15,19 @@ * limitations under the License. */ -//#include "geode_includes.hpp" -#include "version.h" +#include "begin_native.hpp" +#include <version.h> +#include <geode/CacheLoader.hpp> +#include <geode/CacheListener.hpp> +#include <geode/FixedPartitionResolver.hpp> +#include <geode/CacheWriter.hpp> +#include <geode/GeodeTypeIds.hpp> +#include <CacheImpl.hpp> +#include <CacheXmlParser.hpp> +#include <DistributedSystemImpl.hpp> +#include <ace/Process.h> // Added to get rid of unresolved token warning +#include "end_native.hpp" + #include "Serializable.hpp" #include "DistributedSystem.hpp" #include "SystemProperties.hpp" @@ -40,16 +51,7 @@ #include "Log.hpp" #include "Struct.hpp" #include "impl/MemoryPressureHandler.hpp" -#include <geode/CacheLoader.hpp> -#include <geode/CacheListener.hpp> -#include <geode/FixedPartitionResolver.hpp> -#include <geode/CacheWriter.hpp> -#include <geode/GeodeTypeIds.hpp> -#include <CacheImpl.hpp> -#include <PooledBasePool.hpp> -#include <CacheXmlParser.hpp> #include "impl/SafeConvert.hpp" -#include <DistributedSystemImpl.hpp> #include "impl/PdxType.hpp" #include "impl/EnumInfo.hpp" #include "impl/ManagedPersistenceManager.hpp" @@ -58,7 +60,6 @@ #pragma warning(disable:4091) #include <msclr/lock.h> #pragma warning(default:4091) -#include <ace/Process.h> // Added to get rid of unresolved token warning using namespace System; @@ -127,6 +128,8 @@ namespace Apache namespace Client { + namespace native = apache::geode::client; + DistributedSystem^ DistributedSystem::Connect(String^ name) { return DistributedSystem::Connect(name, nullptr); @@ -134,130 +137,53 @@ namespace Apache DistributedSystem^ DistributedSystem::Connect(String^ name, Properties<String^, String^>^ config) { - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); + native::DistributedSystemImpl::acquireDisconnectLock(); _GF_MG_EXCEPTION_TRY2 ManagedString mg_name(name); - apache::geode::client::PropertiesPtr nativepropsptr( - GetNativePtr<apache::geode::client::Properties>(config)); - - // apache::geode::client::PropertiesPtr nativepropsptr; - DistributedSystem::AppDomainInstanceInitialization(nativepropsptr); + DistributedSystem::AppDomainInstanceInitialization(config->GetNative()); // this we are calling after all .NET initialization required in // each AppDomain - apache::geode::client::DistributedSystemPtr& nativeptr( - apache::geode::client::DistributedSystem::connect(mg_name.CharPtr, - nativepropsptr)); + auto nativeptr = native::DistributedSystem::connect(mg_name.CharPtr, + config->GetNative()); ManagedPostConnect(); - // DistributedSystem::AppDomainInstancePostInitialization(); - - return Create(nativeptr.get()); + return Create(nativeptr); _GF_MG_EXCEPTION_CATCH_ALL2 finally { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); + native::DistributedSystemImpl::releaseDisconnectLock(); } } void DistributedSystem::Disconnect() { - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); + native::DistributedSystemImpl::acquireDisconnectLock(); _GF_MG_EXCEPTION_TRY2 - if (apache::geode::client::DistributedSystem::isConnected()) { - // apache::geode::client::CacheImpl::expiryTaskManager->cancelTask( + if (native::DistributedSystem::isConnected()) { + // native::CacheImpl::expiryTaskManager->cancelTask( // s_memoryPressureTaskID); Serializable::UnregisterNativesGeneric(); DistributedSystem::UnregisterBuiltinManagedTypes(); } - apache::geode::client::DistributedSystem::disconnect(); + native::DistributedSystem::disconnect(); _GF_MG_EXCEPTION_CATCH_ALL2 finally { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); + native::DistributedSystemImpl::releaseDisconnectLock(); } } - - /* DistributedSystem^ DistributedSystem::ConnectOrGetInstance(String^ name) - { - return DistributedSystem::ConnectOrGetInstance(name, nullptr); - } - - DistributedSystem^ DistributedSystem::ConnectOrGetInstance(String^ name, - Properties^ config) - { - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); - - _GF_MG_EXCEPTION_TRY - - ManagedString mg_name(name); - apache::geode::client::PropertiesPtr nativepropsptr( - GetNativePtr<apache::geode::client::Properties>(config)); - DistributedSystem::AppDomainInstanceInitialization(nativepropsptr); - - // this we are calling after all .NET initialization required in - // each AppDomain - apache::geode::client::DistributedSystemPtr& nativeptr( - apache::geode::client::DistributedSystem::connectOrGetInstance(mg_name.CharPtr, - nativepropsptr)); - - if (apache::geode::client::DistributedSystem::currentInstances() == 1) { - // stuff to be done only for the first connect - ManagedPostConnect(); - } - - DistributedSystem::AppDomainInstancePostInitialization(); - - return Create(nativeptr.get()); - - _GF_MG_EXCEPTION_CATCH_ALL - - finally { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); - } - } - */ - /* int DistributedSystem::DisconnectInstance() - { - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); - - _GF_MG_EXCEPTION_TRY - - int remainingInstances = - apache::geode::client::DistributedSystem::currentInstances(); - if (remainingInstances <= 0) { - throw gcnew NotConnectedException("DistributedSystem." - "DisconnectInstance: no remaining instance connections"); - } - - //apache::geode::client::CacheImpl::expiryTaskManager->cancelTask( - //s_memoryPressureTaskID); - Serializable::UnregisterNatives(); - - if (remainingInstances == 1) { // last instance - DistributedSystem::UnregisterBuiltinManagedTypes(); - } - return apache::geode::client::DistributedSystem::disconnectInstance(); - - _GF_MG_EXCEPTION_CATCH_ALL - - finally { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); - } - } - */ - void DistributedSystem::AppDomainInstanceInitialization( - const apache::geode::client::PropertiesPtr& nativepropsptr) + const native::PropertiesPtr& nativepropsptr) { _GF_MG_EXCEPTION_TRY2 @@ -266,128 +192,128 @@ namespace Apache /* Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(Apache::Geode::Client::CacheableHashSet::Create), - apache::geode::client::GeodeTypeIds::CacheableHashSet); + native::GeodeTypeIds::CacheableHashSet); Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(Apache::Geode::Client::CacheableLinkedHashSet::Create), - apache::geode::client::GeodeTypeIds::CacheableLinkedHashSet); + native::GeodeTypeIds::CacheableLinkedHashSet); Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(Apache::Geode::Client::Struct::Create), - apache::geode::client::GeodeTypeIds::Struct); + native::GeodeTypeIds::Struct); Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(Apache::Geode::Client::Properties::CreateDeserializable), - apache::geode::client::GeodeTypeIds::Properties); + native::GeodeTypeIds::Properties); // End register wrapper types for built-in types // Register with cpp using unmanaged Cacheablekey wrapper Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableByte, + native::GeodeTypeIds::CacheableByte, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableByte::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableBoolean, + native::GeodeTypeIds::CacheableBoolean, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableBoolean::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableBytes, + native::GeodeTypeIds::CacheableBytes, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableBytes::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::BooleanArray, + native::GeodeTypeIds::BooleanArray, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::BooleanArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableWideChar, + native::GeodeTypeIds::CacheableWideChar, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableCharacter::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CharArray, + native::GeodeTypeIds::CharArray, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CharArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDouble, + native::GeodeTypeIds::CacheableDouble, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableDouble::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDoubleArray, + native::GeodeTypeIds::CacheableDoubleArray, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableDoubleArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFloat, + native::GeodeTypeIds::CacheableFloat, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableFloat::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFloatArray, + native::GeodeTypeIds::CacheableFloatArray, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableFloatArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashSet, + native::GeodeTypeIds::CacheableHashSet, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableHashSet::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableLinkedHashSet, + native::GeodeTypeIds::CacheableLinkedHashSet, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableLinkedHashSet::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt16, + native::GeodeTypeIds::CacheableInt16, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt16::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt16Array, + native::GeodeTypeIds::CacheableInt16Array, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt16Array::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt32, + native::GeodeTypeIds::CacheableInt32, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt32::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt32Array, + native::GeodeTypeIds::CacheableInt32Array, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt32Array::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt64, + native::GeodeTypeIds::CacheableInt64, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt64::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt64Array, + native::GeodeTypeIds::CacheableInt64Array, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableInt64Array::CreateDeserializable)); */ /*Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableASCIIString, + native::GeodeTypeIds::CacheableASCIIString, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableString::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableASCIIStringHuge, + native::GeodeTypeIds::CacheableASCIIStringHuge, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableString::createDeserializableHuge)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableString, + native::GeodeTypeIds::CacheableString, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableString::createUTFDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStringHuge, + native::GeodeTypeIds::CacheableStringHuge, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableString::createUTFDeserializableHuge));*/ /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableNullString, + native::GeodeTypeIds::CacheableNullString, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableString::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStringArray, + native::GeodeTypeIds::CacheableStringArray, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableStringArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::Struct, + native::GeodeTypeIds::Struct, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::Struct::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::Properties, + native::GeodeTypeIds::Properties, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::Properties::CreateDeserializable)); */ @@ -399,209 +325,209 @@ namespace Apache /* Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableByte::Create), - apache::geode::client::GeodeTypeIds::CacheableByte, Byte::typeid);*/ + native::GeodeTypeIds::CacheableByte, Byte::typeid);*/ Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableByte::Create), - apache::geode::client::GeodeTypeIds::CacheableByte, SByte::typeid); + native::GeodeTypeIds::CacheableByte, SByte::typeid); //boolean Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableBoolean::Create), - apache::geode::client::GeodeTypeIds::CacheableBoolean, Boolean::typeid); + native::GeodeTypeIds::CacheableBoolean, Boolean::typeid); //wide char Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableCharacter::Create), - apache::geode::client::GeodeTypeIds::CacheableWideChar, Char::typeid); + native::GeodeTypeIds::CacheableWideChar, Char::typeid); //double Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableDouble::Create), - apache::geode::client::GeodeTypeIds::CacheableDouble, Double::typeid); + native::GeodeTypeIds::CacheableDouble, Double::typeid); //ascii string Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableString::Create), - apache::geode::client::GeodeTypeIds::CacheableASCIIString, String::typeid); + native::GeodeTypeIds::CacheableASCIIString, String::typeid); //TODO: ////ascii string huge //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableString::Create), - // apache::geode::client::GeodeTypeIds::CacheableASCIIStringHuge, String::typeid); + // native::GeodeTypeIds::CacheableASCIIStringHuge, String::typeid); ////string //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableString::Create), - // apache::geode::client::GeodeTypeIds::CacheableString, String::typeid); + // native::GeodeTypeIds::CacheableString, String::typeid); ////string huge //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableString::Create), - // apache::geode::client::GeodeTypeIds::CacheableStringHuge, String::typeid); + // native::GeodeTypeIds::CacheableStringHuge, String::typeid); //float Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableFloat::Create), - apache::geode::client::GeodeTypeIds::CacheableFloat, float::typeid); + native::GeodeTypeIds::CacheableFloat, float::typeid); //int 16 Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableInt16::Create), - apache::geode::client::GeodeTypeIds::CacheableInt16, Int16::typeid); + native::GeodeTypeIds::CacheableInt16, Int16::typeid); //int32 Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableInt32::Create), - apache::geode::client::GeodeTypeIds::CacheableInt32, Int32::typeid); + native::GeodeTypeIds::CacheableInt32, Int32::typeid); //int64 Serializable::RegisterWrapperGeneric( gcnew WrapperDelegateGeneric(CacheableInt64::Create), - apache::geode::client::GeodeTypeIds::CacheableInt64, Int64::typeid); + native::GeodeTypeIds::CacheableInt64, Int64::typeid); ////uint16 //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableInt16::Create), - // apache::geode::client::GeodeTypeIds::CacheableInt16, UInt16::typeid); + // native::GeodeTypeIds::CacheableInt16, UInt16::typeid); ////uint32 //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableInt32::Create), - // apache::geode::client::GeodeTypeIds::CacheableInt32, UInt32::typeid); + // native::GeodeTypeIds::CacheableInt32, UInt32::typeid); ////uint64 //Serializable::RegisterWrapperGeneric( // gcnew WrapperDelegateGeneric(CacheableInt64::Create), - // apache::geode::client::GeodeTypeIds::CacheableInt64, UInt64::typeid); + // native::GeodeTypeIds::CacheableInt64, UInt64::typeid); //======================================================================= //Now onwards all will be wrap in managed cacheable key.. Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableBytes, + native::GeodeTypeIds::CacheableBytes, gcnew TypeFactoryMethodGeneric(CacheableBytes::CreateDeserializable), Type::GetType("System.Byte[]")); /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableBytes, + native::GeodeTypeIds::CacheableBytes, gcnew TypeFactoryMethodGeneric(CacheableBytes::CreateDeserializable), Type::GetType("System.SByte[]"));*/ Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDoubleArray, + native::GeodeTypeIds::CacheableDoubleArray, gcnew TypeFactoryMethodGeneric(CacheableDoubleArray::CreateDeserializable), Type::GetType("System.Double[]")); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFloatArray, + native::GeodeTypeIds::CacheableFloatArray, gcnew TypeFactoryMethodGeneric(CacheableFloatArray::CreateDeserializable), Type::GetType("System.Single[]")); //TODO: //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashSet, + native::GeodeTypeIds::CacheableHashSet, gcnew TypeFactoryMethodGeneric(CacheableHashSet::CreateDeserializable), nullptr); //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableLinkedHashSet, + native::GeodeTypeIds::CacheableLinkedHashSet, gcnew TypeFactoryMethodGeneric(CacheableLinkedHashSet::CreateDeserializable), nullptr); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt16Array, + native::GeodeTypeIds::CacheableInt16Array, gcnew TypeFactoryMethodGeneric(CacheableInt16Array::CreateDeserializable), Type::GetType("System.Int16[]")); /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt16Array, + native::GeodeTypeIds::CacheableInt16Array, gcnew TypeFactoryMethodGeneric(CacheableInt16Array::CreateDeserializable), Type::GetType("System.UInt16[]"));*/ Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt32Array, + native::GeodeTypeIds::CacheableInt32Array, gcnew TypeFactoryMethodGeneric(CacheableInt32Array::CreateDeserializable), Type::GetType("System.Int32[]")); /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt32Array, + native::GeodeTypeIds::CacheableInt32Array, gcnew TypeFactoryMethodGeneric(CacheableInt32Array::CreateDeserializable), Type::GetType("System.UInt32[]"));*/ Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt64Array, + native::GeodeTypeIds::CacheableInt64Array, gcnew TypeFactoryMethodGeneric(CacheableInt64Array::CreateDeserializable), Type::GetType("System.Int64[]")); /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableInt64Array, + native::GeodeTypeIds::CacheableInt64Array, gcnew TypeFactoryMethodGeneric(CacheableInt64Array::CreateDeserializable), Type::GetType("System.UInt64[]"));*/ //TODO:;split Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::BooleanArray, + native::GeodeTypeIds::BooleanArray, gcnew TypeFactoryMethodGeneric(BooleanArray::CreateDeserializable), Type::GetType("System.Boolean[]")); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CharArray, + native::GeodeTypeIds::CharArray, gcnew TypeFactoryMethodGeneric(CharArray::CreateDeserializable), Type::GetType("System.Char[]")); //TODO:: //Serializable::RegisterTypeGeneric( - // apache::geode::client::GeodeTypeIds::CacheableNullString, + // native::GeodeTypeIds::CacheableNullString, // gcnew TypeFactoryMethodNew(Apache::Geode::Client::CacheableString::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStringArray, + native::GeodeTypeIds::CacheableStringArray, gcnew TypeFactoryMethodGeneric(CacheableStringArray::CreateDeserializable), Type::GetType("System.String[]")); //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::Struct, + native::GeodeTypeIds::Struct, gcnew TypeFactoryMethodGeneric(Struct::CreateDeserializable), nullptr); //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::Properties, + native::GeodeTypeIds::Properties, gcnew TypeFactoryMethodGeneric(Properties<String^, String^>::CreateDeserializable), nullptr); /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::PdxType, + native::GeodeTypeIds::PdxType, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::Internal::PdxType::CreateDeserializable), nullptr);*/ Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::EnumInfo, + native::GeodeTypeIds::EnumInfo, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::Internal::EnumInfo::CreateDeserializable), nullptr); // End register generic wrapper types for built-in types - if (!apache::geode::client::DistributedSystem::isConnected()) + if (!native::DistributedSystem::isConnected()) { // Set the Generic ManagedAuthInitialize factory function - apache::geode::client::SystemProperties::managedAuthInitializeFn = - apache::geode::client::ManagedAuthInitializeGeneric::create; + native::SystemProperties::managedAuthInitializeFn = + native::ManagedAuthInitializeGeneric::create; // Set the Generic ManagedCacheLoader/Listener/Writer factory functions. - apache::geode::client::CacheXmlParser::managedCacheLoaderFn = - apache::geode::client::ManagedCacheLoaderGeneric::create; - apache::geode::client::CacheXmlParser::managedCacheListenerFn = - apache::geode::client::ManagedCacheListenerGeneric::create; - apache::geode::client::CacheXmlParser::managedCacheWriterFn = - apache::geode::client::ManagedCacheWriterGeneric::create; + native::CacheXmlParser::managedCacheLoaderFn = + native::ManagedCacheLoaderGeneric::create; + native::CacheXmlParser::managedCacheListenerFn = + native::ManagedCacheListenerGeneric::create; + native::CacheXmlParser::managedCacheWriterFn = + native::ManagedCacheWriterGeneric::create; // Set the Generic ManagedPartitionResolver factory function - apache::geode::client::CacheXmlParser::managedPartitionResolverFn = - apache::geode::client::ManagedFixedPartitionResolverGeneric::create; + native::CacheXmlParser::managedPartitionResolverFn = + native::ManagedFixedPartitionResolverGeneric::create; // Set the Generic ManagedPersistanceManager factory function - apache::geode::client::CacheXmlParser::managedPersistenceManagerFn = - apache::geode::client::ManagedPersistenceManagerGeneric::create; + native::CacheXmlParser::managedPersistenceManagerFn = + native::ManagedPersistenceManagerGeneric::create; } _GF_MG_EXCEPTION_CATCH_ALL2 @@ -615,36 +541,36 @@ namespace Apache // Register other built-in types /* Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDate, + native::GeodeTypeIds::CacheableDate, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableDate::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFileName, + native::GeodeTypeIds::CacheableFileName, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableFileName::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashMap, + native::GeodeTypeIds::CacheableHashMap, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableHashMap::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashTable, + native::GeodeTypeIds::CacheableHashTable, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableHashTable::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableIdentityHashMap, + native::GeodeTypeIds::CacheableIdentityHashMap, gcnew TypeFactoryMethodGeneric( Apache::Geode::Client::CacheableIdentityHashMap::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableUndefined, + native::GeodeTypeIds::CacheableUndefined, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableUndefined::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableVector, + native::GeodeTypeIds::CacheableVector, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableVector::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableObjectArray, + native::GeodeTypeIds::CacheableObjectArray, gcnew TypeFactoryMethodGeneric( Apache::Geode::Client::CacheableObjectArray::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableArrayList, + native::GeodeTypeIds::CacheableArrayList, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableArrayList::CreateDeserializable)); Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStack, + native::GeodeTypeIds::CacheableStack, gcnew TypeFactoryMethodGeneric(Apache::Geode::Client::CacheableStack::CreateDeserializable)); Serializable::RegisterTypeGeneric( GeodeClassIds::CacheableManagedObject - 0x80000000, @@ -659,63 +585,63 @@ namespace Apache //c# datatime Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDate, + native::GeodeTypeIds::CacheableDate, gcnew TypeFactoryMethodGeneric(CacheableDate::CreateDeserializable), Type::GetType("System.DateTime")); //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFileName, + native::GeodeTypeIds::CacheableFileName, gcnew TypeFactoryMethodGeneric(CacheableFileName::CreateDeserializable), nullptr); //for generic dictionary define its type in static constructor of Serializable.hpp Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashMap, + native::GeodeTypeIds::CacheableHashMap, gcnew TypeFactoryMethodGeneric(CacheableHashMap::CreateDeserializable), nullptr); //c# hashtable Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashTable, + native::GeodeTypeIds::CacheableHashTable, gcnew TypeFactoryMethodGeneric(CacheableHashTable::CreateDeserializable), Type::GetType("System.Collections.Hashtable")); //Need to keep public as no counterpart in c# Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableIdentityHashMap, + native::GeodeTypeIds::CacheableIdentityHashMap, gcnew TypeFactoryMethodGeneric( CacheableIdentityHashMap::CreateDeserializable), nullptr); //keep as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableUndefined, + native::GeodeTypeIds::CacheableUndefined, gcnew TypeFactoryMethodGeneric(CacheableUndefined::CreateDeserializable), nullptr); //c# arraylist Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableVector, + native::GeodeTypeIds::CacheableVector, gcnew TypeFactoryMethodGeneric(CacheableVector::CreateDeserializable), nullptr); //as it is Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableObjectArray, + native::GeodeTypeIds::CacheableObjectArray, gcnew TypeFactoryMethodGeneric( CacheableObjectArray::CreateDeserializable), nullptr); //Generic::List Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableArrayList, + native::GeodeTypeIds::CacheableArrayList, gcnew TypeFactoryMethodGeneric(CacheableArrayList::CreateDeserializable), nullptr); //c# generic stack Serializable::RegisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStack, + native::GeodeTypeIds::CacheableStack, gcnew TypeFactoryMethodGeneric(CacheableStack::CreateDeserializable), nullptr); @@ -750,41 +676,41 @@ namespace Apache void DistributedSystem::AppDomainInstancePostInitialization() { //to create .net memory pressure handler - Create(apache::geode::client::DistributedSystem::getInstance().get()); + Create(native::DistributedSystem::getInstance()); } void DistributedSystem::UnregisterBuiltinManagedTypes() { _GF_MG_EXCEPTION_TRY2 - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); + native::DistributedSystemImpl::acquireDisconnectLock(); Serializable::UnregisterNativesGeneric(); int remainingInstances = - apache::geode::client::DistributedSystemImpl::currentInstances(); + native::DistributedSystemImpl::currentInstances(); if (remainingInstances == 0) { // last instance Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableDate); + native::GeodeTypeIds::CacheableDate); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableFileName); + native::GeodeTypeIds::CacheableFileName); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashMap); + native::GeodeTypeIds::CacheableHashMap); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableHashTable); + native::GeodeTypeIds::CacheableHashTable); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableIdentityHashMap); + native::GeodeTypeIds::CacheableIdentityHashMap); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableVector); + native::GeodeTypeIds::CacheableVector); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableObjectArray); + native::GeodeTypeIds::CacheableObjectArray); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableArrayList); + native::GeodeTypeIds::CacheableArrayList); Serializable::UnregisterTypeGeneric( - apache::geode::client::GeodeTypeIds::CacheableStack); + native::GeodeTypeIds::CacheableStack); Serializable::UnregisterTypeGeneric( GeodeClassIds::CacheableManagedObject - 0x80000000); Serializable::UnregisterTypeGeneric( @@ -795,7 +721,7 @@ namespace Apache _GF_MG_EXCEPTION_CATCH_ALL2 finally { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); + native::DistributedSystemImpl::releaseDisconnectLock(); } } @@ -803,30 +729,32 @@ namespace Apache { _GF_MG_EXCEPTION_TRY2 - // TODO return Apache::Geode::Client::SystemProperties::Create( - apache::geode::client::DistributedSystem::getSystemProperties()); - - //return nullptr; + native::DistributedSystem::getSystemProperties()); _GF_MG_EXCEPTION_CATCH_ALL2 } String^ DistributedSystem::Name::get() { - return ManagedString::Get(NativePtr->getName()); + try + { + return ManagedString::Get(m_nativeptr->get()->getName()); + } + finally + { + GC::KeepAlive(m_nativeptr); + } } bool DistributedSystem::IsConnected::get() { - return apache::geode::client::DistributedSystem::isConnected(); + return native::DistributedSystem::isConnected(); } DistributedSystem^ DistributedSystem::GetInstance() { - apache::geode::client::DistributedSystemPtr& nativeptr( - apache::geode::client::DistributedSystem::getInstance()); - return Create(nativeptr.get()); + return Create(native::DistributedSystem::getInstance()); } void DistributedSystem::HandleMemoryPressure(System::Object^ state) @@ -836,25 +764,23 @@ namespace Apache handler.handle_timeout(dummy, nullptr); } - DistributedSystem^ DistributedSystem::Create( - apache::geode::client::DistributedSystem* nativeptr) + DistributedSystem^ DistributedSystem::Create(native::DistributedSystemPtr nativeptr) { if (m_instance == nullptr) { msclr::lock lockInstance(m_singletonSync); if (m_instance == nullptr) { - m_instance = (nativeptr != nullptr - ? gcnew DistributedSystem(nativeptr) : nullptr); + m_instance = __nullptr == nativeptr ? nullptr : + gcnew DistributedSystem(nativeptr); } } - DistributedSystem^ instance = (DistributedSystem^)m_instance; + auto instance = (DistributedSystem^)m_instance; return instance; } - DistributedSystem::DistributedSystem(apache::geode::client::DistributedSystem* nativeptr) - : SBWrap(nativeptr) + DistributedSystem::DistributedSystem(native::DistributedSystemPtr nativeptr) { - System::Threading::TimerCallback^ timerCallback = gcnew System:: - Threading::TimerCallback(&DistributedSystem::HandleMemoryPressure); + m_nativeptr = gcnew native_shared_ptr<native::DistributedSystem>(nativeptr); + auto timerCallback = gcnew System::Threading::TimerCallback(&DistributedSystem::HandleMemoryPressure); m_memoryPressureHandler = gcnew System::Threading::Timer( timerCallback, "MemoryPressureHandler", 3 * 60000, 3 * 60000); } @@ -866,42 +792,41 @@ namespace Apache void DistributedSystem::acquireDisconnectLock() { - apache::geode::client::DistributedSystemImpl::acquireDisconnectLock(); + native::DistributedSystemImpl::acquireDisconnectLock(); } void DistributedSystem::disconnectInstance() { - apache::geode::client::DistributedSystemImpl::disconnectInstance(); + native::DistributedSystemImpl::disconnectInstance(); } void DistributedSystem::releaseDisconnectLock() { - apache::geode::client::DistributedSystemImpl::releaseDisconnectLock(); + native::DistributedSystemImpl::releaseDisconnectLock(); } void DistributedSystem::connectInstance() { - apache::geode::client::DistributedSystemImpl::connectInstance(); + native::DistributedSystemImpl::connectInstance(); } void DistributedSystem::registerCliCallback() { m_cliCallBackObj = gcnew CliCallbackDelegate(); - cliCallback^ nativeCallback = + auto nativeCallback = gcnew cliCallback(m_cliCallBackObj, &CliCallbackDelegate::Callback); - apache::geode::client::DistributedSystemImpl::registerCliCallback(System::Threading::Thread::GetDomainID(), - (apache::geode::client::CliCallbackMethod)System::Runtime::InteropServices:: + native::DistributedSystemImpl::registerCliCallback(System::Threading::Thread::GetDomainID(), + (native::CliCallbackMethod)System::Runtime::InteropServices:: Marshal::GetFunctionPointerForDelegate( nativeCallback).ToPointer()); } void DistributedSystem::unregisterCliCallback() { - apache::geode::client::DistributedSystemImpl::unregisterCliCallback(System::Threading::Thread::GetDomainID()); - } // namespace Client - } // namespace Geode - } // namespace Apache - -} + native::DistributedSystemImpl::unregisterCliCallback(System::Threading::Thread::GetDomainID()); + } + } // namespace Client + } // namespace Geode +} // namespace Apache
http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/DistributedSystem.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/DistributedSystem.hpp b/src/clicache/src/DistributedSystem.hpp index af95be1..65e8be8 100644 --- a/src/clicache/src/DistributedSystem.hpp +++ b/src/clicache/src/DistributedSystem.hpp @@ -18,8 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/DistributedSystem.hpp> -//#include "impl/NativeWrapper.hpp" +#include "end_native.hpp" + +#include "native_shared_ptr.hpp" #include "SystemProperties.hpp" #include "Properties.hpp" #include "impl/CliCallbackDelgate.hpp" @@ -33,6 +36,8 @@ namespace Apache namespace Client { + namespace native = apache::geode::client; + /// <summary> /// DistributedSystem encapsulates this applications "connection" into the /// Geode Java servers. @@ -43,7 +48,6 @@ namespace Apache /// DistributedSystem. /// </remarks> public ref class DistributedSystem sealed - : public Client::Internal::SBWrap<apache::geode::client::DistributedSystem> { public: @@ -130,7 +134,7 @@ namespace Apache /// <returns> /// The managed wrapper object; null if the native pointer is null. /// </returns> - static DistributedSystem^ Create(apache::geode::client::DistributedSystem* nativeptr); + static DistributedSystem^ Create(native::DistributedSystemPtr nativeptr); static void acquireDisconnectLock(); @@ -149,7 +153,7 @@ namespace Apache /// Stuff that needs to be done for Connect in each AppDomain. /// </summary> static void AppDomainInstanceInitialization( - const apache::geode::client::PropertiesPtr& nativepropsptr); + const native::PropertiesPtr& nativepropsptr); /// <summary> /// Managed registrations and other stuff to be done for the manage @@ -168,6 +172,11 @@ namespace Apache /// </summary> static void UnregisterBuiltinManagedTypes(); + std::shared_ptr<native::DistributedSystem> GetNative() + { + return m_nativeptr->get_shared_ptr(); + } + private: ///// <summary> @@ -180,13 +189,14 @@ namespace Apache /// Private constructor to wrap a native object pointer /// </summary> /// <param name="nativeptr">The native object pointer</param> - DistributedSystem(apache::geode::client::DistributedSystem* nativeptr); + DistributedSystem(native::DistributedSystemPtr nativeptr); /// <summary> /// Finalizer for the singleton instance of this class. /// </summary> ~DistributedSystem(); + native_shared_ptr<native::DistributedSystem>^ m_nativeptr; /// <summary> http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/EntryEvent.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/EntryEvent.cpp b/src/clicache/src/EntryEvent.cpp index 49869f5..51a0ef5 100644 --- a/src/clicache/src/EntryEvent.cpp +++ b/src/clicache/src/EntryEvent.cpp @@ -15,7 +15,6 @@ * limitations under the License. */ -//#include "geode_includes.hpp" #include "EntryEvent.hpp" #include "Region.hpp" #include "impl/SafeConvert.hpp" @@ -30,65 +29,46 @@ namespace Apache { generic<class TKey, class TValue> - EntryEvent<TKey, TValue>::EntryEvent(IRegion<TKey, TValue>^ region, - TKey key, TValue oldValue, - TValue newValue, Object^ aCallbackArgument, - bool remoteOrigin) - : UMWrap( ) - { - //TODO:: from where this gets called - /*apache::geode::client::RegionPtr regionptr( GetNativePtr<apache::geode::client::Region>( region ) ); - apache::geode::client::CacheableKeyPtr keyptr( SafeMKeyConvert( key ) ); - apache::geode::client::CacheablePtr oldptr( SafeMSerializableConvert( oldValue ) ); - apache::geode::client::CacheablePtr newptr( SafeMSerializableConvert( newValue ) ); - apache::geode::client::UserDataPtr callbackptr(SafeMSerializableConvert( - aCallbackArgument)); - - SetPtr(new apache::geode::client::EntryEvent(regionptr, keyptr, - oldptr, newptr, callbackptr, remoteOrigin), true);*/ - } - - generic<class TKey, class TValue> IRegion<TKey, TValue>^ EntryEvent<TKey, TValue>::Region::get( ) { - apache::geode::client::RegionPtr& regionptr( NativePtr->getRegion( ) ); - return Client::Region<TKey, TValue>::Create( regionptr.ptr( ) ); + apache::geode::client::RegionPtr regionptr = m_nativeptr->getRegion(); + return Client::Region<TKey, TValue>::Create( regionptr ); } generic<class TKey, class TValue> TKey EntryEvent<TKey, TValue>::Key::get( ) { - apache::geode::client::CacheableKeyPtr& keyptr( NativePtr->getKey( ) ); + apache::geode::client::CacheableKeyPtr& keyptr( m_nativeptr->getKey( ) ); return Serializable::GetManagedValueGeneric<TKey>( keyptr ); } generic<class TKey, class TValue> TValue EntryEvent<TKey, TValue>::OldValue::get( ) { - apache::geode::client::CacheablePtr& valptr( NativePtr->getOldValue( ) ); + apache::geode::client::CacheablePtr& valptr( m_nativeptr->getOldValue( ) ); return Serializable::GetManagedValueGeneric<TValue>( valptr ); } generic<class TKey, class TValue> TValue EntryEvent<TKey, TValue>::NewValue::get( ) { - apache::geode::client::CacheablePtr& valptr( NativePtr->getNewValue( ) ); + apache::geode::client::CacheablePtr& valptr( m_nativeptr->getNewValue( ) ); return Serializable::GetManagedValueGeneric<TValue>( valptr ); } generic<class TKey, class TValue> Object^ EntryEvent<TKey, TValue>::CallbackArgument::get() { - apache::geode::client::UserDataPtr& valptr(NativePtr->getCallbackArgument()); + apache::geode::client::UserDataPtr& valptr(m_nativeptr->getCallbackArgument()); return Serializable::GetManagedValueGeneric<Object^>( valptr ); } generic<class TKey, class TValue> - bool EntryEvent<TKey, TValue>::RemoteOrigin::get( ) + bool EntryEvent<TKey, TValue>::RemoteOrigin::get() { - return NativePtr->remoteOrigin( ); + return m_nativeptr->remoteOrigin(); + } } // namespace Client } // namespace Geode } // namespace Apache - } //namespace http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/EntryEvent.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/EntryEvent.hpp b/src/clicache/src/EntryEvent.hpp index 644fbbb..36008ea 100644 --- a/src/clicache/src/EntryEvent.hpp +++ b/src/clicache/src/EntryEvent.hpp @@ -18,10 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/EntryEvent.hpp> -#include "impl/NativeWrapper.hpp" +#include "end_native.hpp" + #include "IRegion.hpp" -//#include "Region.hpp" using namespace System; @@ -31,8 +32,9 @@ namespace Apache { namespace Client { + namespace native = apache::geode::client; - interface class IGeodeSerializable; + interface class IGeodeSerializable; // ref class Region; //interface class ICacheableKey; @@ -42,18 +44,10 @@ namespace Apache /// </summary> generic<class TKey, class TValue> public ref class EntryEvent sealed - : public Internal::UMWrap<apache::geode::client::EntryEvent> { public: /// <summary> - /// Constructor to create an <c>EntryEvent</c> for the given region. - /// </summary> - EntryEvent(IRegion<TKey, TValue>^ region, TKey key, TValue oldValue, - TValue newValue, Object^ aCallbackArgument, - bool remoteOrigin ); - - /// <summary> /// Return the region this event occurred in. /// </summary> property IRegion<TKey, TValue>^ Region @@ -106,16 +100,22 @@ namespace Apache bool get( ); } - internal: + const native::EntryEvent* GetNative() + { + return m_nativeptr; + } /// <summary> /// Private constructor to wrap a native object pointer /// </summary> /// <param name="nativeptr">The native object pointer</param> - inline EntryEvent<TKey, TValue>( const apache::geode::client::EntryEvent* nativeptr ) - : Internal::UMWrap<apache::geode::client::EntryEvent>( - const_cast<apache::geode::client::EntryEvent*>( nativeptr ), false ) { } + inline EntryEvent<TKey, TValue>( const native::EntryEvent* nativeptr ) + : m_nativeptr( nativeptr ) + { + } + private: + const native::EntryEvent* m_nativeptr; }; } // namespace Client } // namespace Geode http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ExceptionTypes.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ExceptionTypes.cpp b/src/clicache/src/ExceptionTypes.cpp index 9388670..e8eeb0c 100644 --- a/src/clicache/src/ExceptionTypes.cpp +++ b/src/clicache/src/ExceptionTypes.cpp @@ -15,7 +15,6 @@ * limitations under the License. */ -//#include "geode_includes.hpp" #include "ExceptionTypes.hpp" #include <cstdlib> http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ExceptionTypes.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ExceptionTypes.hpp b/src/clicache/src/ExceptionTypes.hpp index 8f25654..491dfcb 100644 --- a/src/clicache/src/ExceptionTypes.hpp +++ b/src/clicache/src/ExceptionTypes.hpp @@ -18,7 +18,10 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/ExceptionTypes.hpp> +#include "end_native.hpp" + #include "impl/ManagedString.hpp" @@ -162,8 +165,8 @@ namespace Apache cause = GeodeException::GetNative(ex->InnerException); } ManagedString mg_exStr(MgSysExPrefix + ex->ToString()); - return apache::geode::client::ExceptionPtr(new apache::geode::client::Exception( - mg_exStr.CharPtr, NULL, false, cause)); + return std::make_shared<apache::geode::client::Exception>( + mg_exStr.CharPtr, __nullptr, false, cause); } } return nullptr; @@ -181,8 +184,8 @@ namespace Apache if (this->InnerException != nullptr) { cause = GeodeException::GetNative(this->InnerException); } - return apache::geode::client::ExceptionPtr(new apache::geode::client::Exception(mg_msg.CharPtr, - NULL, false, cause)); + return std::make_shared<apache::geode::client::Exception>(mg_msg.CharPtr, + __nullptr, false, cause); } /// <summary> @@ -355,8 +358,8 @@ namespace Apache if (this->InnerException != nullptr) { \ cause = GeodeException::GetNative(this->InnerException); \ } \ - return apache::geode::client::ExceptionPtr(new apache::geode::client::y(mg_msg.CharPtr, \ - NULL, false, cause)); \ + return std::make_shared<apache::geode::client::y>(mg_msg.CharPtr, \ + __nullptr, false, cause); \ } \ } http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/Execution.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/Execution.cpp b/src/clicache/src/Execution.cpp index 6037299..0a43e9b 100644 --- a/src/clicache/src/Execution.cpp +++ b/src/clicache/src/Execution.cpp @@ -18,7 +18,10 @@ //#include "geode_includes.hpp" #include "Execution.hpp" +#include "begin_native.hpp" #include <geode/Execution.hpp> +#include "end_native.hpp" + #include "ResultCollector.hpp" #include "impl/ManagedResultCollector.hpp" @@ -34,6 +37,7 @@ namespace Apache { namespace Client { + namespace native = apache::geode::client; generic<class TResult> generic<class TFilter> @@ -41,14 +45,21 @@ namespace Apache { if (routingObj != nullptr) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - apache::geode::client::CacheableVectorPtr rsptr = apache::geode::client::CacheableVector::create(); + auto rsptr = native::CacheableVector::create(); for each(TFilter item in routingObj) { rsptr->push_back(Serializable::GetUnmanagedValueGeneric<TFilter>( item )); } - return Execution<TResult>::Create(NativePtr->withFilter(rsptr).get(), this->m_rc); + try + { + return Execution<TResult>::Create(m_nativeptr->get()->withFilter(rsptr), this->m_rc); + } + finally + { + GC::KeepAlive(m_nativeptr); + } _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } else { @@ -61,9 +72,15 @@ namespace Apache Execution<TResult>^ Execution<TResult>::WithArgs( TArgs args ) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - - apache::geode::client::CacheablePtr argsptr( Serializable::GetUnmanagedValueGeneric<TArgs>( args ) ); - return Execution<TResult>::Create(NativePtr->withArgs(argsptr).get(), this->m_rc); + try + { + auto argsptr = Serializable::GetUnmanagedValueGeneric<TArgs>( args ); + return Execution<TResult>::Create(m_nativeptr->get()->withArgs(argsptr), this->m_rc); + } + finally + { + GC::KeepAlive(m_nativeptr); + } _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } @@ -71,15 +88,20 @@ namespace Apache Execution<TResult>^ Execution<TResult>::WithCollector(Client::IResultCollector<TResult>^ rc) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - apache::geode::client::ResultCollectorPtr rcptr; + native::ResultCollectorPtr rcptr; if ( rc != nullptr ) { - ResultCollectorGeneric<TResult>^ rcg = gcnew ResultCollectorGeneric<TResult>(); - rcg->SetResultCollector(rc); - - rcptr = new apache::geode::client::ManagedResultCollectorGeneric( rcg ); - //((apache::geode::client::ManagedResultCollectorGeneric*)rcptr.get())->setptr(rcg); + auto rcg = gcnew ResultCollectorGeneric<TResult>(); + rcg->SetResultCollector(rc); + rcptr = std::shared_ptr<native::ManagedResultCollectorGeneric>(new native::ManagedResultCollectorGeneric(rcg)); + } + try + { + return Execution<TResult>::Create( m_nativeptr->get()->withCollector(rcptr), rc); + } + finally + { + GC::KeepAlive(m_nativeptr); } - return Execution<TResult>::Create( NativePtr->withCollector(rcptr).get(), rc); _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } @@ -87,12 +109,19 @@ namespace Apache IResultCollector<TResult>^ Execution<TResult>::Execute(String^ func, UInt32 timeout) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - ManagedString mg_function( func ); - apache::geode::client::ResultCollectorPtr rc = NativePtr->execute(mg_function.CharPtr, timeout); - if(m_rc == nullptr) - return gcnew ResultCollector<TResult>(rc.get()); - else - return m_rc; + try + { + ManagedString mg_function(func); + auto rc = m_nativeptr->get()->execute(mg_function.CharPtr, timeout); + if (m_rc == nullptr) + return gcnew ResultCollector<TResult>(rc); + else + return m_rc; + } + finally + { + GC::KeepAlive(m_nativeptr); + } _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } @@ -100,8 +129,7 @@ namespace Apache IResultCollector<TResult>^ Execution<TResult>::Execute(String^ func) { return Execute(func, DEFAULT_QUERY_RESPONSE_TIMEOUT); + } } // namespace Client } // namespace Geode } // namespace Apache - -} //namespace http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/Execution.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/Execution.hpp b/src/clicache/src/Execution.hpp index f45a5db..44fcf44 100644 --- a/src/clicache/src/Execution.hpp +++ b/src/clicache/src/Execution.hpp @@ -18,9 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/Execution.hpp> -#include "impl/NativeWrapper.hpp" -//#include "impl/ResultCollectorProxy.hpp" +#include "end_native.hpp" + +#include "native_shared_ptr.hpp" using namespace System; @@ -30,6 +32,7 @@ namespace Apache { namespace Client { + namespace native = apache::geode::client; generic<class TResult> interface class IResultCollector; @@ -42,7 +45,6 @@ namespace Apache /// </summary> generic<class TResult> public ref class Execution sealed - : public Internal::SBWrap<apache::geode::client::Execution> { public: /// <summary> @@ -88,20 +90,25 @@ namespace Apache /// <returns> /// The managed wrapper object; null if the native pointer is null. /// </returns> - inline static Execution<TResult>^ Create( apache::geode::client::Execution* nativeptr, IResultCollector<TResult>^ rc ) + inline static Execution<TResult>^ Create( native::ExecutionPtr nativeptr, IResultCollector<TResult>^ rc ) { - return ( nativeptr != nullptr ? - gcnew Execution<TResult>( nativeptr, rc ) : nullptr ); - } + return __nullptr == nativeptr ? nullptr : + gcnew Execution<TResult>( nativeptr, rc ); + } /// <summary> /// Private constructor to wrap a native object pointer. /// </summary> /// <param name="nativeptr">The native object pointer</param> - inline Execution( apache::geode::client::Execution* nativeptr, IResultCollector<TResult>^ rc ) - : SBWrap( nativeptr ) { m_rc = rc;} + inline Execution( native::ExecutionPtr nativeptr, IResultCollector<TResult>^ rc ) + { + m_rc = rc; + m_nativeptr = gcnew native_shared_ptr<native::Execution>(nativeptr); + } private: IResultCollector<TResult>^ m_rc; + + native_shared_ptr<native::Execution>^ m_nativeptr; }; } // namespace Client } // namespace Geode http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ExpirationAction.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ExpirationAction.hpp b/src/clicache/src/ExpirationAction.hpp index 25c0564..c8a12bf 100644 --- a/src/clicache/src/ExpirationAction.hpp +++ b/src/clicache/src/ExpirationAction.hpp @@ -20,7 +20,10 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/ExpirationAction.hpp> +#include "end_native.hpp" + using namespace System; http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/FunctionService.cpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/FunctionService.cpp b/src/clicache/src/FunctionService.cpp index 4f3a3ed..456f2e5 100644 --- a/src/clicache/src/FunctionService.cpp +++ b/src/clicache/src/FunctionService.cpp @@ -15,14 +15,17 @@ * limitations under the License. */ -//#include "geode_includes.hpp" +#include "begin_native.hpp" +#include <geode/RegionService.hpp> +#include "end_native.hpp" + #include "FunctionService.hpp" #include "Pool.hpp" #include "Region.hpp" #include "Execution.hpp" -#include <geode/RegionService.hpp> + #include "impl/AuthenticatedCache.hpp" -#include "impl/SafeConvert.hpp" + using namespace System; namespace Apache @@ -31,6 +34,7 @@ namespace Apache { namespace Client { + namespace native = apache::geode::client; generic <class TResult> generic <class TKey, class TValue> @@ -38,40 +42,31 @@ namespace Apache { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - IRegion<TKey, TValue>^ regImpl = safe_cast<IRegion<TKey, TValue>^>( rg); - - apache::geode::client::RegionPtr regionptr(GetNativePtrFromSBWrapGeneric((Client::Region<TKey, TValue>^)regImpl)); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onRegion( - regionptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ), nullptr ); + auto nativeRegion = ((Region<TKey, TValue>^)rg)->GetNative(); + auto execution = native::FunctionService::onRegion(nativeRegion); + return Execution<TResult>::Create( execution, nullptr ); _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } generic <class TResult> - Execution<TResult>^ FunctionService<TResult>::OnServer( Pool/*<TKey, TValue>*/^ pl ) + Execution<TResult>^ FunctionService<TResult>::OnServer( Pool^ pl ) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - apache::geode::client::PoolPtr poolptr(GetNativePtrFromSBWrapGeneric<apache::geode::client::Pool>( pl ) ); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServer( - poolptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ) , nullptr); + auto nativeptr = native::FunctionService::onServer(pl->GetNative()); + return Execution<TResult>::Create( nativeptr , nullptr); _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } generic <class TResult> - Execution<TResult>^ FunctionService<TResult>::OnServers( Pool/*<TKey, TValue>*/^ pl ) + Execution<TResult>^ FunctionService<TResult>::OnServers( Pool^ pl ) { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - apache::geode::client::PoolPtr poolptr(GetNativePtrFromSBWrapGeneric<apache::geode::client::Pool>( pl ) ); - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServers( - poolptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ) , nullptr); + auto nativeptr = native::FunctionService::onServers(pl->GetNative()); + return Execution<TResult>::Create( nativeptr , nullptr); _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } @@ -81,28 +76,17 @@ namespace Apache { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - Apache::Geode::Client::Cache^ realCache = - dynamic_cast<Apache::Geode::Client::Cache^>(cache); - - if(realCache != nullptr) - { - apache::geode::client::RegionServicePtr cacheptr(GetNativePtr<apache::geode::client::RegionService>( realCache ) ); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServer( - cacheptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ), nullptr ); - } - else - { - Apache::Geode::Client::AuthenticatedCache^ authCache = - dynamic_cast<Apache::Geode::Client::AuthenticatedCache^>(cache); - apache::geode::client::RegionServicePtr cacheptr(GetNativePtr<apache::geode::client::RegionService>( authCache ) ); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServer( - cacheptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ), nullptr ); - } - + if(auto realCache = dynamic_cast<Cache^>(cache)) + { + auto nativeptr = native::FunctionService::onServer(realCache->GetNative()); + return Execution<TResult>::Create( nativeptr, nullptr ); + } + else + { + auto authCache = dynamic_cast<AuthenticatedCache^>(cache); + auto nativeptr = native::FunctionService::onServer(authCache->GetNative()); + return Execution<TResult>::Create( nativeptr, nullptr ); + } _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ } @@ -112,31 +96,20 @@ namespace Apache { _GF_MG_EXCEPTION_TRY2/* due to auto replace */ - Apache::Geode::Client::Cache^ realCache = - dynamic_cast<Apache::Geode::Client::Cache^>(cache); - - if(realCache != nullptr) + if(auto realCache = dynamic_cast<Cache^>(cache)) { - apache::geode::client::RegionServicePtr cacheptr(GetNativePtr<apache::geode::client::RegionService>( realCache ) ); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServers( - cacheptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ), nullptr ); + auto nativeptr = native::FunctionService::onServers(realCache->GetNative()); + return Execution<TResult>::Create( nativeptr, nullptr ); } else { - Apache::Geode::Client::AuthenticatedCache^ authCache = - dynamic_cast<Apache::Geode::Client::AuthenticatedCache^>(cache); - apache::geode::client::RegionServicePtr cacheptr(GetNativePtr<apache::geode::client::RegionService>( authCache ) ); - - apache::geode::client::ExecutionPtr& nativeptr( apache::geode::client::FunctionService::onServers( - cacheptr ) ); - return Execution<TResult>::Create( nativeptr.ptr( ) , nullptr); + auto authCache = dynamic_cast<AuthenticatedCache^>(cache); + auto nativeptr = native::FunctionService::onServers(authCache->GetNative()); + return Execution<TResult>::Create( nativeptr, nullptr ); } _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */ + } } // namespace Client } // namespace Geode } // namespace Apache - - } //namespace http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/FunctionService.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/FunctionService.hpp b/src/clicache/src/FunctionService.hpp index 923a625..7af9bc8 100644 --- a/src/clicache/src/FunctionService.hpp +++ b/src/clicache/src/FunctionService.hpp @@ -18,10 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/FunctionService.hpp> -#include "Cache.hpp" -//#include "impl/NativeWrapper.hpp" +#include "end_native.hpp" +#include "Cache.hpp" using namespace System; @@ -43,8 +44,7 @@ namespace Apache /// </summary> /// <remarks> generic<class TResult> - public ref class FunctionService - : public Internal::SBWrap<apache::geode::client::FunctionService> + public ref class FunctionService { public: @@ -63,8 +63,7 @@ namespace Apache /// <remarks> /// </remarks> /// <exception cref="UnsupportedOperationException">unsupported operation exception, when Pool is in multiusersecure mode.</exception> - //generic<class TKey, class TValue> - static Execution<TResult>^ OnServer( Pool/*<TKey, TValue>*/^ pl ); + static Execution<TResult>^ OnServer( Pool^ pl ); /// <summary> /// Creates a new Execution object on all servers in the pool @@ -72,8 +71,7 @@ namespace Apache /// <remarks> /// </remarks> /// <exception cref="UnsupportedOperationException">unsupported operation exception, when Pool is in multiusersecure mode.</exception> - //generic<class TKey, class TValue> - static Execution<TResult>^ OnServers( Pool/*<TKey, TValue>*/^ pl ); + static Execution<TResult>^ OnServers( Pool^ pl ); /// <summary> /// Creates a new Execution object on one server. @@ -81,7 +79,6 @@ namespace Apache /// <remarks> /// </remarks> /// <exception cref="IllegalStateException">when Pool has been closed.</exception> - //generic<class TResult> static Execution<TResult>^ OnServer( IRegionService^ cache ); /// <summary> @@ -90,18 +87,8 @@ namespace Apache /// <remarks> /// </remarks> /// <exception cref="IllegalStateException">when Pool has been closed.</exception> - //generic<class TResult> static Execution<TResult>^ OnServers( IRegionService^ cache ); - internal: - - /// <summary> - /// Private constructor to wrap a native object pointer - /// </summary> - /// <param name="nativeptr">The native object pointer</param> - inline FunctionService( apache::geode::client::FunctionService* nativeptr ) - : SBWrap( nativeptr ) { } - }; } // namespace Client } // namespace Geode http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/GeodeClassIds.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/GeodeClassIds.hpp b/src/clicache/src/GeodeClassIds.hpp index 0ab567a..9d6eebd 100644 --- a/src/clicache/src/GeodeClassIds.hpp +++ b/src/clicache/src/GeodeClassIds.hpp @@ -20,7 +20,10 @@ #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/GeodeTypeIds.hpp> +#include "end_native.hpp" + namespace Apache http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ICacheLoader.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ICacheLoader.hpp b/src/clicache/src/ICacheLoader.hpp index 76b2f19..e5b1a8e 100644 --- a/src/clicache/src/ICacheLoader.hpp +++ b/src/clicache/src/ICacheLoader.hpp @@ -18,7 +18,10 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/CacheLoader.hpp> +#include "end_native.hpp" + #include "IRegion.hpp" //#include "Region.hpp" //#include "ICacheableKey.hpp" http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ICacheableKey.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ICacheableKey.hpp b/src/clicache/src/ICacheableKey.hpp index 1578207..3ca9514 100644 --- a/src/clicache/src/ICacheableKey.hpp +++ b/src/clicache/src/ICacheableKey.hpp @@ -20,7 +20,6 @@ #include "geode_defs.hpp" #include "IGeodeSerializable.hpp" - using namespace System; namespace Apache http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ICqResults.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ICqResults.hpp b/src/clicache/src/ICqResults.hpp index b0d5970..f8d737f 100644 --- a/src/clicache/src/ICqResults.hpp +++ b/src/clicache/src/ICqResults.hpp @@ -18,8 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/SelectResults.hpp> -//#include "impl/NativeWrapper.hpp" +#include "end_native.hpp" + + #include "ISelectResults.hpp" http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/IGeodeSerializable.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/IGeodeSerializable.hpp b/src/clicache/src/IGeodeSerializable.hpp index 311601b..c21946f 100644 --- a/src/clicache/src/IGeodeSerializable.hpp +++ b/src/clicache/src/IGeodeSerializable.hpp @@ -18,7 +18,9 @@ #pragma once #include "geode_defs.hpp" -#include "geode/geode_types.hpp" +#include "begin_native.hpp" +#include <geode/geode_types.hpp> +#include "end_native.hpp" using namespace System; http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/IRegion.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/IRegion.hpp b/src/clicache/src/IRegion.hpp index 8c17d2f..cbbf2eb 100644 --- a/src/clicache/src/IRegion.hpp +++ b/src/clicache/src/IRegion.hpp @@ -19,7 +19,10 @@ #include "geode_defs.hpp" #include "ISubscriptionService.hpp" +#include "begin_native.hpp" #include <geode/DataOutput.hpp> +#include "end_native.hpp" + //#include "ExceptionTypes.hpp" using namespace System; http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ISelectResults.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ISelectResults.hpp b/src/clicache/src/ISelectResults.hpp index e53e17c..68feff8 100644 --- a/src/clicache/src/ISelectResults.hpp +++ b/src/clicache/src/ISelectResults.hpp @@ -18,8 +18,11 @@ #pragma once #include "geode_defs.hpp" +#include "begin_native.hpp" #include <geode/SelectResults.hpp> -//#include "impl/NativeWrapper.hpp" +#include "end_native.hpp" + + #include "IGeodeSerializable.hpp" using namespace System; http://git-wip-us.apache.org/repos/asf/geode-native/blob/6027574a/src/clicache/src/ISubscriptionService.hpp ---------------------------------------------------------------------- diff --git a/src/clicache/src/ISubscriptionService.hpp b/src/clicache/src/ISubscriptionService.hpp index ec1d041..1c91efd 100644 --- a/src/clicache/src/ISubscriptionService.hpp +++ b/src/clicache/src/ISubscriptionService.hpp @@ -18,7 +18,8 @@ #pragma once #include "geode_defs.hpp" -//#include "ExceptionTypes.hpp" +#include "ExceptionTypes.hpp" + using namespace System; namespace Apache {