You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ec...@apache.org on 2017/08/10 15:20:32 UTC
[24/27] geode-native git commit: GEODE-2729: Remove global variables
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Execution.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Execution.cpp b/src/clicache/src/Execution.cpp
index 0a43e9b..2ba9187 100644
--- a/src/clicache/src/Execution.cpp
+++ b/src/clicache/src/Execution.cpp
@@ -49,7 +49,7 @@ namespace Apache
for each(TFilter item in routingObj)
{
- rsptr->push_back(Serializable::GetUnmanagedValueGeneric<TFilter>( item ));
+ rsptr->push_back(Serializable::GetUnmanagedValueGeneric<TFilter>( item, nullptr ));
}
try
@@ -74,7 +74,7 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
try
{
- auto argsptr = Serializable::GetUnmanagedValueGeneric<TArgs>( args );
+ auto argsptr = Serializable::GetUnmanagedValueGeneric<TArgs>( args, nullptr );
return Execution<TResult>::Create(m_nativeptr->get()->withArgs(argsptr), this->m_rc);
}
finally
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/LocalRegion.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/LocalRegion.cpp b/src/clicache/src/LocalRegion.cpp
index 143f51a..1313558 100644
--- a/src/clicache/src/LocalRegion.cpp
+++ b/src/clicache/src/LocalRegion.cpp
@@ -15,6 +15,11 @@
* limitations under the License.
*/
+#include "begin_native.hpp"
+#include "geode/Region.hpp"
+#include "geode/Cache.hpp"
+#include "end_native.hpp"
+
#include "LocalRegion.hpp"
#include "Cache.hpp"
#include "CacheStatistics.hpp"
@@ -35,7 +40,7 @@ namespace Apache
generic<class TKey, class TValue>
TValue LocalRegion<TKey, TValue>::Get(TKey key, Object^ callbackArg)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
auto nativeptr= this->getRegionEntryValue(keyptr);
if (nativeptr == nullptr)
{
@@ -72,9 +77,9 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value );
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value, m_nativeptr->get()->getCache().get() );
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localPut( keyptr, valueptr, callbackptr );
}
finally
@@ -88,7 +93,7 @@ namespace Apache
generic<class TKey, class TValue>
TValue LocalRegion<TKey, TValue>::default::get(TKey key)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
auto nativeptr = this->getRegionEntryValue(keyptr);
if (nativeptr == nullptr)
{
@@ -105,8 +110,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localPut( keyptr, valueptr );
}
finally
@@ -195,15 +200,15 @@ namespace Apache
{
return false;
}
- apache::geode::client::DataOutput out1;
- apache::geode::client::DataOutput out2;
- val1->toData(out1);
- val2->toData(out2);
- if ( out1.getBufferLength() != out2.getBufferLength() )
+ std::unique_ptr<apache::geode::client::DataOutput> out1 = m_nativeptr->get_shared_ptr()->getCache()->createDataOutput();
+ std::unique_ptr<apache::geode::client::DataOutput> out2 = m_nativeptr->get_shared_ptr()->getCache()->createDataOutput();
+ val1->toData(*out1);
+ val2->toData(*out2);
+ if ( out1->getBufferLength() != out2->getBufferLength() )
{
return false;
}
- else if (memcmp(out1.getBuffer(), out2.getBuffer(), out1.getBufferLength()) != 0)
+ else if (memcmp(out1->getBuffer(), out2->getBuffer(), out1->getBufferLength()) != 0)
{
return false;
}
@@ -215,7 +220,7 @@ namespace Apache
generic<class TKey, class TValue>
bool LocalRegion<TKey, TValue>::Contains(KeyValuePair<TKey,TValue> keyValuePair)
{
- auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key );
+ auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key, m_nativeptr->get()->getCache().get() );
auto nativeptr = this->getRegionEntryValue(keyptr);
//This means that key is not present.
if (nativeptr == nullptr) {
@@ -232,7 +237,7 @@ namespace Apache
try
{
- auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
+ auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
return m_nativeptr->get()->containsKey(keyptr);
}
finally
@@ -246,7 +251,7 @@ namespace Apache
generic<class TKey, class TValue>
bool LocalRegion<TKey, TValue>::TryGetValue(TKey key, TValue %val)
{
- auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
+ auto keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
auto nativeptr = this->getRegionEntryValue(keyptr);
if (nativeptr == nullptr) {
val = TValue();
@@ -320,8 +325,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localCreate( keyptr, valueptr );
}
finally
@@ -339,8 +344,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( keyValuePair.Value );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( keyValuePair.Value, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localCreate( keyptr, valueptr );
}
finally
@@ -358,9 +363,9 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value );
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( value, m_nativeptr->get()->getCache().get() );
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localCreate( keyptr, valueptr, callbackptr );
}
finally
@@ -378,7 +383,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->localDestroy(keyptr);
return true;
}
@@ -401,8 +406,8 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->localDestroy(keyptr, callbackptr);
return true;
}
@@ -424,8 +429,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key );
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( keyValuePair.Value );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( keyValuePair.Key, m_nativeptr->get()->getCache().get() );
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>( keyValuePair.Value, m_nativeptr->get()->getCache().get() );
return m_nativeptr->get()->localRemove(keyptr, valueptr);
}
finally
@@ -443,9 +448,9 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->localRemove(keyptr, valueptr, callbackptr);
}
finally
@@ -473,7 +478,7 @@ namespace Apache
try
{
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg );
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localInvalidateRegion( callbackptr );
}
finally
@@ -500,7 +505,7 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
try
{
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg );
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localDestroyRegion( callbackptr );
}
finally
@@ -528,8 +533,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key );
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg );
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>( key, m_nativeptr->get()->getCache().get() );
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() );
m_nativeptr->get()->localInvalidate( keyptr, callbackptr );
}
finally
@@ -774,7 +779,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
auto nativeptr = m_nativeptr->get()->getEntry(keyptr);
return RegionEntry<TKey, TValue>::Create(nativeptr);
}
@@ -846,7 +851,7 @@ namespace Apache
try
{
- return m_nativeptr->get()->containsValueForKey(Serializable::GetUnmanagedValueGeneric<TKey>(key));
+ return m_nativeptr->get()->containsValueForKey(Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get()));
}
finally
{
@@ -881,7 +886,7 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
try
{
- m_nativeptr->get()->localClear(Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg ) );
+ m_nativeptr->get()->localClear(Serializable::GetUnmanagedValueGeneric<Object^>( callbackArg, m_nativeptr->get()->getCache().get() ) );
}
finally
{
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Pool.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Pool.cpp b/src/clicache/src/Pool.cpp
index 32921fb..6bb1f91 100644
--- a/src/clicache/src/Pool.cpp
+++ b/src/clicache/src/Pool.cpp
@@ -20,7 +20,7 @@
#include "QueryService.hpp"
#include "CacheableString.hpp"
#include "Cache.hpp"
-#include "Properties.hpp"
+//#include "Properties.hpp"
#include "impl/ManagedString.hpp"
#include "ExceptionTypes.hpp"
#include "impl/SafeConvert.hpp"
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/PoolFactory.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/PoolFactory.cpp b/src/clicache/src/PoolFactory.cpp
index e17bdee..bf3c0b1 100644
--- a/src/clicache/src/PoolFactory.cpp
+++ b/src/clicache/src/PoolFactory.cpp
@@ -23,6 +23,8 @@
#include "impl/ManagedString.hpp"
#include "ExceptionTypes.hpp"
+#include "Cache.hpp"
+
using namespace System;
namespace Apache
@@ -429,7 +431,7 @@ namespace Apache
}
- Pool^ PoolFactory::Create(String^ name)
+ Pool^ PoolFactory::Create(String^ name, Cache^ cache)
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/PoolFactory.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/PoolFactory.hpp b/src/clicache/src/PoolFactory.hpp
index 49665bb..cf16906 100644
--- a/src/clicache/src/PoolFactory.hpp
+++ b/src/clicache/src/PoolFactory.hpp
@@ -390,7 +390,7 @@ namespace Apache
/// throws IllegalStateException if a pool with name already exists
/// throws IllegalStateException if a locator or server has not been added.
/// </exception>
- Pool^ Create(String^ name);
+ Pool^ Create(String^ name, Cache^ cache);
internal:
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/PoolManager.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/PoolManager.cpp b/src/clicache/src/PoolManager.cpp
index 5136442..3f641a7 100644
--- a/src/clicache/src/PoolManager.cpp
+++ b/src/clicache/src/PoolManager.cpp
@@ -35,12 +35,12 @@ namespace Apache
PoolFactory^ PoolManager::CreateFactory()
{
- return PoolFactory::Create(native::PoolManager::createFactory());
+ return PoolFactory::Create(m_nativeref.createFactory());
}
const Dictionary<String^, Pool^>^ PoolManager::GetAll()
{
- auto pools = native::PoolManager::getAll();
+ auto pools = m_nativeref.getAll();
auto result = gcnew Dictionary<String^, Pool^>();
for (const auto& iter : pools)
{
@@ -54,23 +54,23 @@ namespace Apache
Pool^ PoolManager::Find(String^ name)
{
ManagedString mg_name( name );
- auto pool = native::PoolManager::find(mg_name.CharPtr);
+ auto pool = m_nativeref.find(mg_name.CharPtr);
return Pool::Create(pool);
}
Pool^ PoolManager::Find(Client::Region<Object^, Object^>^ region)
{
- return Pool::Create(native::PoolManager::find(region->GetNative()));
+ return Pool::Create(m_nativeref.find(region->GetNative()));
}
void PoolManager::Close(Boolean KeepAlive)
{
- native::PoolManager::close(KeepAlive);
+ m_nativeref.close(KeepAlive);
}
void PoolManager::Close()
{
- native::PoolManager::close();
+ m_nativeref.close();
}
} // namespace Client
} // namespace Geode
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/PoolManager.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/PoolManager.hpp b/src/clicache/src/PoolManager.hpp
index f47d553..0ea139d 100644
--- a/src/clicache/src/PoolManager.hpp
+++ b/src/clicache/src/PoolManager.hpp
@@ -23,7 +23,6 @@
#include "end_native.hpp"
-
using namespace System;
namespace Apache
@@ -38,44 +37,64 @@ namespace Apache
// generic<class TKey, class TValue>
ref class PoolFactory;
+ namespace native = apache::geode::client;
+
/// <summary>
/// This interface provides for the configuration and creation of instances of PoolFactory.
/// </summary>
// generic<class TKey, class TValue>
- public ref class PoolManager STATICCLASS
+ public ref class PoolManager
{
public:
/// <summary>
/// Creates a new PoolFactory which is used to configure and create Pools.
/// </summary>
- static PoolFactory/*<TKey, TValue>*/^ CreateFactory();
+ PoolFactory/*<TKey, TValue>*/^ CreateFactory();
/// <summary>
/// Returns a map containing all the pools in this manager.
/// The keys are pool names and the values are Pool instances.
/// </summary>
- static const Dictionary<String^, Pool/*<TKey, TValue>*/^>^ GetAll();
+ const Dictionary<String^, Pool/*<TKey, TValue>*/^>^ GetAll();
/// <summary>
/// Find by name an existing connection pool.
/// </summary>
- static Pool/*<TKey, TValue>*/^ Find(String^ name);
+ Pool/*<TKey, TValue>*/^ Find(String^ name);
/// <summary>
/// Find the pool used by the given region.
/// </summary>
- static Pool/*<TKey, TValue>*/^ Find(Client::Region<Object^, Object^>^ region);
+ Pool/*<TKey, TValue>*/^ Find(Client::Region<Object^, Object^>^ region);
/// <summary>
/// Destroys all created pools.
/// </summary>
- static void Close(Boolean KeepAlive);
+ void Close(Boolean KeepAlive);
/// <summary>
/// Destroys all created pools.
/// </summary>
- static void Close();
+ void Close();
+
+ internal:
+
+ native::PoolManager& GetNative()
+ {
+ return m_nativeref;
+ }
+
+ /// <summary>
+ /// Private constructor to wrap a native object pointer
+ /// </summary>
+ /// <param name="nativeptr">The native object pointer</param>
+ inline PoolManager(native::PoolManager& nativeref)
+ : m_nativeref(nativeref)
+ {
+ }
+
+ native::PoolManager& m_nativeref;
};
} // namespace Client
} // namespace Geode
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Properties.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Properties.cpp b/src/clicache/src/Properties.cpp
index b499369..af41931 100644
--- a/src/clicache/src/Properties.cpp
+++ b/src/clicache/src/Properties.cpp
@@ -15,13 +15,17 @@
* limitations under the License.
*/
+#include "begin_native.hpp"
+#include "CacheImpl.hpp"
+#include "SerializationRegistry.hpp"
+#include "end_native.hpp"
+
#include "Properties.hpp"
#include "impl/ManagedVisitor.hpp"
#include "impl/ManagedString.hpp"
#include "impl/SafeConvert.hpp"
#include "ExceptionTypes.hpp"
-
using namespace System;
@@ -65,7 +69,7 @@ namespace Apache
{
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key, nullptr);
auto nativeptr = m_nativeptr->get()->find(keyptr);
return Serializable::GetManagedValueGeneric<TPropValue>(nativeptr);
}
@@ -78,8 +82,8 @@ namespace Apache
generic<class TPropKey, class TPropValue>
void Properties<TPropKey, TPropValue>::Insert( TPropKey key, TPropValue value )
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key, true);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TPropValue>(value, true);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key, true, nullptr);
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TPropValue>(value, true, nullptr);
_GF_MG_EXCEPTION_TRY2
@@ -98,7 +102,7 @@ namespace Apache
generic<class TPropKey, class TPropValue>
void Properties<TPropKey, TPropValue>::Remove( TPropKey key)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TPropKey>(key, nullptr);
_GF_MG_EXCEPTION_TRY2
@@ -294,57 +298,59 @@ namespace Apache
// ISerializable methods
- generic<class TPropKey, class TPropValue>
- void Properties<TPropKey, TPropValue>::GetObjectData( SerializationInfo^ info,
- StreamingContext context )
- {
- native::DataOutput output;
-
- _GF_MG_EXCEPTION_TRY2
-
- try
- {
- m_nativeptr->get()->toData( output );
- }
- finally
- {
- GC::KeepAlive(m_nativeptr);
- }
-
- _GF_MG_EXCEPTION_CATCH_ALL2
-
- auto bytes = gcnew array<Byte>( output.getBufferLength( ) );
- {
- pin_ptr<const Byte> pin_bytes = &bytes[0];
- memcpy( (System::Byte*)pin_bytes, output.getBuffer( ),
- output.getBufferLength( ) );
- }
- info->AddValue( "bytes", bytes, array<Byte>::typeid );
- }
-
- generic<class TPropKey, class TPropValue>
- Properties<TPropKey, TPropValue>::Properties( SerializationInfo^ info,
- StreamingContext context )
- : Properties()
- {
- array<Byte>^ bytes = nullptr;
- try {
- bytes = dynamic_cast<array<Byte>^>( info->GetValue( "bytes",
- array<Byte>::typeid ) );
- }
- catch ( System::Exception^ ) {
- // could not find the header -- null value
- }
- if (bytes != nullptr) {
- pin_ptr<const Byte> pin_bytes = &bytes[0];
+ //generic<class TPropKey, class TPropValue>
+ //void Properties<TPropKey, TPropValue>::GetObjectData( SerializationInfo^ info,
+ // StreamingContext context )
+ //{
+ // auto output = std::unique_ptr<native::DataOutput>(new native::DataOutput(*m_serializationRegistry->get_shared_ptr()));
+
+ // _GF_MG_EXCEPTION_TRY2
+
+ // try
+ // {
+ // m_nativeptr->get()->toData( *output );
+ // }
+ // finally
+ // {
+ // GC::KeepAlive(m_nativeptr);
+ // }
+
+ // _GF_MG_EXCEPTION_CATCH_ALL2
+
+ // auto bytes = gcnew array<Byte>( output->getBufferLength( ) );
+ // {
+ // pin_ptr<const Byte> pin_bytes = &bytes[0];
+ // memcpy( (System::Byte*)pin_bytes, output->getBuffer( ),
+ // output->getBufferLength( ) );
+ // }
+ // info->AddValue( "bytes", bytes, array<Byte>::typeid );
+ //}
+ //
+ //generic<class TPropKey, class TPropValue>
+ //Properties<TPropKey, TPropValue>::Properties( SerializationInfo^ info,
+ // StreamingContext context, native::SerializationRegistryPtr serializationRegistry)
+ // : Properties(serializationRegistry)
+ //{
+ // array<Byte>^ bytes = nullptr;
+ // try {
+ // bytes = dynamic_cast<array<Byte>^>( info->GetValue( "bytes",
+ // array<Byte>::typeid ) );
+ // }
+ // catch ( System::Exception^ ) {
+ // // could not find the header -- null value
+ // }
+ // if (bytes != nullptr) {
+ // pin_ptr<const Byte> pin_bytes = &bytes[0];
+
+ // _GF_MG_EXCEPTION_TRY2
+
+ // native::DataInput input( (System::Byte*)pin_bytes, bytes->Length, *CacheImpl::getInstance()->getSerializationRegistry().get());
+ // FromData(input);
+ // _GF_MG_EXCEPTION_CATCH_ALL2
+ // }
+ //}
- _GF_MG_EXCEPTION_TRY2
- native::DataInput input( (System::Byte*)pin_bytes, bytes->Length );
- FromData(input);
- _GF_MG_EXCEPTION_CATCH_ALL2
- }
- }
} // namespace Client
} // namespace Geode
} // namespace Apache
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Properties.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Properties.hpp b/src/clicache/src/Properties.hpp
index cf798b6..c175fff 100644
--- a/src/clicache/src/Properties.hpp
+++ b/src/clicache/src/Properties.hpp
@@ -21,6 +21,7 @@
#include "begin_native.hpp"
#include <geode/Properties.hpp>
+#include "SerializationRegistry.hpp"
#include "end_native.hpp"
#include "IGeodeSerializable.hpp"
@@ -31,7 +32,6 @@
#include "native_shared_ptr.hpp"
#include "impl/SafeConvert.hpp"
#include "Serializable.hpp"
-#include "native_shared_ptr.hpp"
using namespace System;
using namespace System::Runtime::Serialization;
@@ -71,28 +71,30 @@ namespace Apache
/// or an integer.
/// </summary>
public ref class Properties sealed
- : public IGeodeSerializable,
- public ISerializable
+ : public IGeodeSerializable //,public ISerializable
{
public:
/// <summary>
/// Default constructor: returns an empty collection.
/// </summary>
- inline Properties( )
+ inline Properties()
: Properties(native::Properties::create())
- {}
+ {
+
+ }
/// <summary>
/// Factory method to create an empty collection of properties.
/// </summary>
/// <returns>empty collection of properties</returns>
generic<class TPropKey, class TPropValue>
- inline static Properties<TPropKey, TPropValue>^ Create( )
+ inline static Properties<TPropKey, TPropValue>^ Create()
{
- return gcnew Properties<TPropKey, TPropValue>( );
+ return gcnew Properties<TPropKey, TPropValue>();
}
+
/// <summary>
/// Return the value for the given key, or NULL if not found.
/// </summary>
@@ -204,15 +206,15 @@ namespace Apache
// ISerializable members
- virtual void GetObjectData( SerializationInfo^ info,
- StreamingContext context );
+ //virtual void GetObjectData( SerializationInfo^ info,
+ // StreamingContext context);
// End: ISerializable members
protected:
// For deserialization using the .NET serialization (ISerializable)
- Properties( SerializationInfo^ info, StreamingContext context );
+ //Properties(SerializationInfo^ info, StreamingContext context, native::SerializationRegistryPtr serializationRegistry);
internal:
@@ -237,9 +239,9 @@ namespace Apache
return m_nativeptr->get_shared_ptr();
}
- inline static IGeodeSerializable^ CreateDeserializable( )
+ inline static IGeodeSerializable^ CreateDeserializable()
{
- return Create<String^, String^>();
+ return Create<TPropKey, TPropValue>();
}
private:
@@ -283,6 +285,19 @@ namespace Apache
Apache::Geode::Client::PropertyVisitorGeneric<TPropKey, TPropValue>^ m_visitor;
};
+
+ /* ref class PropertiesFactory {
+ public:
+ PropertiesFactory(native::SerializationRegistryPtr serializationRegistry)
+ {
+ m_serializationRegistry = gcnew native_shared_ptr<native::SerializationRegistry>(serializationRegistry);
+ }
+ IGeodeSerializable^ CreateDeserializable() {
+ return Properties<String^, String^>::CreateDeserializable(m_serializationRegistry->get_shared_ptr());
+ }
+ private:
+ native_shared_ptr<native::SerializationRegistry>^ m_serializationRegistry;
+ };*/
} // namespace Client
} // namespace Geode
} // namespace Apache
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Query.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Query.cpp b/src/clicache/src/Query.cpp
index f1041f8..071c51f 100644
--- a/src/clicache/src/Query.cpp
+++ b/src/clicache/src/Query.cpp
@@ -70,7 +70,7 @@ namespace Apache
auto rsptr = apache::geode::client::CacheableVector::create();
for( int index = 0; index < paramList->Length; index++ )
{
- auto valueptr = Serializable::GetUnmanagedValueGeneric<Object^>(paramList[index]->GetType(), (Object^)paramList[index]);
+ auto valueptr = Serializable::GetUnmanagedValueGeneric<Object^>(paramList[index]->GetType(), (Object^)paramList[index], nullptr);
rsptr->push_back(valueptr);
}
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Region.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Region.cpp b/src/clicache/src/Region.cpp
index f7d4b23..17e9a62 100644
--- a/src/clicache/src/Region.cpp
+++ b/src/clicache/src/Region.cpp
@@ -15,6 +15,11 @@
* limitations under the License.
*/
+#include "begin_native.hpp"
+#include "geode/Region.hpp"
+#include "geode/Cache.hpp"
+#include "end_native.hpp"
+
#include "Region.hpp"
#include "Cache.hpp"
#include "CacheStatistics.hpp"
@@ -45,8 +50,9 @@ namespace Apache
generic<class TKey, class TValue>
TValue Region<TKey, TValue>::Get(TKey key, Object^ callbackArg)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
+ GC::KeepAlive(m_nativeptr);
auto nativeptr = this->get(keyptr, callbackptr);
if (nativeptr == nullptr)
{
@@ -93,7 +99,8 @@ namespace Apache
auto rAttributes = this->Attributes;
auto poolName = rAttributes->PoolName;
if (poolName != nullptr) {
- auto pool = PoolManager::Find(poolName);
+ auto poolManager = gcnew PoolManager(m_nativeptr->get()->getCache()->getPoolManager());
+ auto pool = poolManager->Find(poolName);
if (pool != nullptr && !pool->Destroyed) {
return pool->MultiuserAuthentication;
}
@@ -109,9 +116,9 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->put(keyptr, valueptr, callbackptr);
}
finally
@@ -125,7 +132,8 @@ namespace Apache
generic<class TKey, class TValue>
TValue Region<TKey, TValue>::default::get(TKey key)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ GC::KeepAlive(m_nativeptr);
auto nativeptr = this->get(keyptr);
if (nativeptr == nullptr)
{
@@ -142,8 +150,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->put(keyptr, valueptr);
}
finally
@@ -233,15 +241,17 @@ namespace Apache
{
return false;
}
- native::DataOutput out1;
- native::DataOutput out2;
- val1->toData(out1);
- val2->toData(out2);
- if (out1.getBufferLength() != out2.getBufferLength())
+ std::unique_ptr<native::DataOutput> out1 = m_nativeptr->get_shared_ptr()->getCache()->createDataOutput();
+ std::unique_ptr<native::DataOutput> out2 = m_nativeptr->get_shared_ptr()->getCache()->createDataOutput();
+ val1->toData(*out1);
+ val2->toData(*out2);
+
+ GC::KeepAlive(m_nativeptr);
+ if (out1->getBufferLength() != out2->getBufferLength())
{
return false;
}
- else if (memcmp(out1.getBuffer(), out2.getBuffer(), out1.getBufferLength()) != 0)
+ else if (memcmp(out1->getBuffer(), out2->getBuffer(), out1->getBufferLength()) != 0)
{
return false;
}
@@ -253,7 +263,8 @@ namespace Apache
generic<class TKey, class TValue>
bool Region<TKey, TValue>::Contains(KeyValuePair<TKey, TValue> keyValuePair)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key, m_nativeptr->get()->getCache().get());
+ GC::KeepAlive(m_nativeptr);
auto nativeptr = this->get(keyptr);
//This means that key is not present.
if (nativeptr == nullptr) {
@@ -270,7 +281,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->containsKeyOnServer(keyptr);
}
finally
@@ -285,7 +296,8 @@ namespace Apache
bool Region<TKey, TValue>::TryGetValue(TKey key, TValue %val)
{
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ GC::KeepAlive(m_nativeptr);
auto nativeptr = this->get(keyptr);
if (nativeptr == nullptr) {
val = TValue();
@@ -358,8 +370,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->create(keyptr, valueptr);
}
finally
@@ -377,8 +389,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValuePair.Value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValuePair.Value, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->create(keyptr, valueptr);
}
finally
@@ -396,9 +408,9 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->create(keyptr, valueptr, callbackptr);
}
finally
@@ -416,7 +428,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->removeEx(keyptr);
}
finally
@@ -435,8 +447,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->removeEx(keyptr, callbackptr);
}
finally
@@ -454,8 +466,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValuePair.Value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValuePair.Key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValuePair.Value, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->remove(keyptr, valueptr);
}
finally
@@ -473,9 +485,10 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(value, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
+ GC::KeepAlive(m_nativeptr);
return m_nativeptr->get()->remove(keyptr, valueptr, callbackptr);
}
finally
@@ -503,7 +516,7 @@ namespace Apache
try
{
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->invalidateRegion(callbackptr);
}
finally
@@ -531,7 +544,7 @@ namespace Apache
try
{
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->destroyRegion(callbackptr);
}
finally
@@ -560,8 +573,8 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->invalidate(keyptr, callbackptr);
}
finally
@@ -591,8 +604,8 @@ namespace Apache
native::HashMapOfCacheable nativeMap;
for each (KeyValuePair<TKey, TValue> keyValPair in map)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValPair.Key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValPair.Value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValPair.Key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValPair.Value, m_nativeptr->get()->getCache().get());
nativeMap.emplace(keyptr, valueptr);
}
try
@@ -616,11 +629,11 @@ namespace Apache
native::HashMapOfCacheable nativeMap;
for each (KeyValuePair<TKey, TValue> keyValPair in map)
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValPair.Key);
- native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValPair.Value);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(keyValPair.Key, m_nativeptr->get()->getCache().get());
+ native::CacheablePtr valueptr = Serializable::GetUnmanagedValueGeneric<TValue>(keyValPair.Value, m_nativeptr->get()->getCache().get());
nativeMap.emplace(keyptr, valueptr);
}
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
try
{
m_nativeptr->get()->putAll(nativeMap, timeout, callbackptr);
@@ -661,7 +674,7 @@ namespace Apache
for each(TKey item in keys)
{
vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ Serializable::GetUnmanagedValueGeneric<TKey>(item, m_nativeptr->get()->getCache().get()));
}
native::HashMapOfCacheablePtr valuesPtr;
@@ -716,7 +729,7 @@ namespace Apache
for each(TKey item in keys)
{
vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ Serializable::GetUnmanagedValueGeneric<TKey>(item, m_nativeptr->get()->getCache().get()));
}
native::HashMapOfCacheablePtr valuesPtr;
@@ -728,7 +741,7 @@ namespace Apache
exceptionsPtr = std::make_shared<native::HashMapOfException>();
}
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
try
{
@@ -779,9 +792,9 @@ namespace Apache
native::VectorOfCacheableKey vecKeys;
for each(TKey item in keys)
- vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item, m_nativeptr->get()->getCache().get()));
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
try
{
@@ -968,7 +981,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
auto nativeptr = m_nativeptr->get()->getEntry(keyptr);
return RegionEntry<TKey, TValue>::Create(nativeptr);
}
@@ -1041,7 +1054,7 @@ namespace Apache
try
{
- native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key);
+ native::CacheableKeyPtr keyptr = Serializable::GetUnmanagedValueGeneric<TKey>(key, m_nativeptr->get()->getCache().get());
return m_nativeptr->get()->containsValueForKey(keyptr);
}
finally
@@ -1079,7 +1092,7 @@ namespace Apache
_GF_MG_EXCEPTION_TRY2/* due to auto replace */
try
{
- native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg);
+ native::UserDataPtr callbackptr = Serializable::GetUnmanagedValueGeneric<Object^>(callbackArg, m_nativeptr->get()->getCache().get());
m_nativeptr->get()->clear(callbackptr);
}
finally
@@ -1170,7 +1183,7 @@ namespace Apache
for each(TKey item in keys)
{
- vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ vecKeys.push_back(Serializable::GetUnmanagedValueGeneric<TKey>(item, m_nativeptr->get()->getCache().get()));
}
try
{
@@ -1197,7 +1210,7 @@ namespace Apache
for each(TKey item in keys)
{
vecKeys.push_back(
- Serializable::GetUnmanagedValueGeneric<TKey>(item));
+ Serializable::GetUnmanagedValueGeneric<TKey>(item, m_nativeptr->get()->getCache().get()));
}
try
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/ResultCollector.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/ResultCollector.cpp b/src/clicache/src/ResultCollector.cpp
index 9b0e249..595bd9c 100644
--- a/src/clicache/src/ResultCollector.cpp
+++ b/src/clicache/src/ResultCollector.cpp
@@ -40,7 +40,7 @@ namespace Apache
try
{
- auto result = std::shared_ptr<native::Cacheable>(SafeGenericMSerializableConvert((IGeodeSerializable^)rs));
+ auto result = std::shared_ptr<native::Cacheable>(SafeGenericMSerializableConvert((IGeodeSerializable^)rs, nullptr));
m_nativeptr->get()->addResult(result);
}
finally
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Serializable.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Serializable.cpp b/src/clicache/src/Serializable.cpp
index 5771095..8760bab 100644
--- a/src/clicache/src/Serializable.cpp
+++ b/src/clicache/src/Serializable.cpp
@@ -16,7 +16,11 @@
*/
#include "begin_native.hpp"
+#include <geode/Cache.hpp>
#include <SerializationRegistry.hpp>
+#include <geode/PoolManager.hpp>
+#include <CacheImpl.hpp>
+#include "CacheRegionHelper.hpp"
#include "end_native.hpp"
#include <msclr/lock.h>
@@ -42,6 +46,9 @@
#include "CacheableIdentityHashMap.hpp"
#include "IPdxSerializer.hpp"
#include "impl/DotNetTypes.hpp"
+#include "CacheRegionHelper.hpp"
+#include "Cache.hpp"
+
#pragma warning(disable:4091)
using namespace System::Reflection;
@@ -255,27 +262,27 @@ namespace Apache
return (Apache::Geode::Client::Serializable^)CacheableStringArray::Create(value);
}
- System::Int32 Serializable::GetPDXIdForType(const char* poolName, IGeodeSerializable^ pdxType)
+ System::Int32 Serializable::GetPDXIdForType(const char* poolName, IGeodeSerializable^ pdxType, const native::Cache* cache)
{
native::CacheablePtr kPtr(SafeMSerializableConvertGeneric(pdxType));
- return native::SerializationRegistry::GetPDXIdForType(poolName, kPtr);
+ return CacheRegionHelper::getCacheImpl(cache)->getSerializationRegistry()->GetPDXIdForType(cache->getPoolManager().find(poolName), kPtr);
}
- IGeodeSerializable^ Serializable::GetPDXTypeById(const char* poolName, System::Int32 typeId)
- {
- SerializablePtr sPtr = native::SerializationRegistry::GetPDXTypeById(poolName, typeId);
+ IGeodeSerializable^ Serializable::GetPDXTypeById(const char* poolName, System::Int32 typeId, const native::Cache* cache)
+ {
+ SerializablePtr sPtr = CacheRegionHelper::getCacheImpl(cache)->getSerializationRegistry()->GetPDXTypeById(cache->getPoolManager().find(poolName), typeId);
return SafeUMSerializableConvertGeneric(sPtr);
}
- int Serializable::GetEnumValue(Internal::EnumInfo^ ei)
+ int Serializable::GetEnumValue(Internal::EnumInfo^ ei, const native::Cache* cache)
{
native::CacheablePtr kPtr(SafeMSerializableConvertGeneric(ei));
- return native::SerializationRegistry::GetEnumValue(kPtr);
+ return CacheRegionHelper::getCacheImpl(cache)->getSerializationRegistry()->GetEnumValue(cache->getPoolManager().getAll().begin()->second, kPtr);
}
- Internal::EnumInfo^ Serializable::GetEnum(int val)
+ Internal::EnumInfo^ Serializable::GetEnum(int val, const native::Cache* cache)
{
- SerializablePtr sPtr = native::SerializationRegistry::GetEnum(val);
+ SerializablePtr sPtr = CacheRegionHelper::getCacheImpl(cache)->getSerializationRegistry()->GetEnum(cache->getPoolManager().getAll().begin()->second, val);
return (Internal::EnumInfo^)SafeUMSerializableConvertGeneric(sPtr);
}
@@ -511,21 +518,22 @@ namespace Apache
return retVal();
}
- void Serializable::RegisterPDXManagedCacheableKey(bool appDomainEnable)
+ void Serializable::RegisterPDXManagedCacheableKey(bool appDomainEnable, Cache^ cache)
{
+ CacheImpl *cacheImpl = CacheRegionHelper::getCacheImpl(cache->GetNative().get());
if (!appDomainEnable)
{
- native::SerializationRegistry::addType(native::GeodeTypeIdsImpl::PDX,
+ cacheImpl->getSerializationRegistry()->addType(native::GeodeTypeIdsImpl::PDX,
&native::PdxManagedCacheableKey::CreateDeserializable);
}
else
{
- native::SerializationRegistry::addType(native::GeodeTypeIdsImpl::PDX,
- &native::PdxManagedCacheableKeyBytes::CreateDeserializable);
+ cacheImpl->getSerializationRegistry()->addType(native::GeodeTypeIdsImpl::PDX,
+ std::bind(native::PdxManagedCacheableKeyBytes::CreateDeserializable, cache->GetNative().get()));
}
}
- void Apache::Geode::Client::Serializable::RegisterTypeGeneric(TypeFactoryMethodGeneric^ creationMethod)
+ void Apache::Geode::Client::Serializable::RegisterTypeGeneric(TypeFactoryMethodGeneric^ creationMethod, Cache^ cache)
{
if (creationMethod == nullptr) {
throw gcnew IllegalArgumentException("Serializable.RegisterType(): "
@@ -539,7 +547,7 @@ namespace Apache
if (!ManagedDelegatesGeneric->ContainsKey(classId))
ManagedDelegatesGeneric->Add(classId, creationMethod);
- DelegateWrapperGeneric^ delegateObj = gcnew DelegateWrapperGeneric(creationMethod);
+ DelegateWrapperGeneric^ delegateObj = gcnew DelegateWrapperGeneric(creationMethod, cache);
TypeFactoryNativeMethodGeneric^ nativeDelegate =
gcnew TypeFactoryNativeMethodGeneric(delegateObj,
&DelegateWrapperGeneric::NativeDelegateGeneric);
@@ -554,22 +562,20 @@ namespace Apache
DelegateMapGeneric[tmp->ClassId] = creationMethod;
_GF_MG_EXCEPTION_TRY2
-
- native::Serializable::registerType((native::TypeFactoryMethod)
- System::Runtime::InteropServices::Marshal::
- GetFunctionPointerForDelegate(nativeDelegate).ToPointer());
+ CacheImpl *cacheImpl = CacheRegionHelper::getCacheImpl(cache->GetNative().get());
+ cacheImpl->getSerializationRegistry()->addType((native::Serializable*(*)())System::Runtime::InteropServices::Marshal::GetFunctionPointerForDelegate(nativeDelegate).ToPointer());
_GF_MG_EXCEPTION_CATCH_ALL2
}
void Apache::Geode::Client::Serializable::RegisterTypeGeneric(Byte typeId,
- TypeFactoryMethodGeneric^ creationMethod, Type^ type)
+ TypeFactoryMethodGeneric^ creationMethod, Type^ type, Cache^ cache)
{
if (creationMethod == nullptr) {
throw gcnew IllegalArgumentException("Serializable.RegisterType(): "
"null TypeFactoryMethod delegate passed");
}
- DelegateWrapperGeneric^ delegateObj = gcnew DelegateWrapperGeneric(creationMethod);
+ DelegateWrapperGeneric^ delegateObj = gcnew DelegateWrapperGeneric(creationMethod, cache);
TypeFactoryNativeMethodGeneric^ nativeDelegate =
gcnew TypeFactoryNativeMethodGeneric(delegateObj,
&DelegateWrapperGeneric::NativeDelegateGeneric);
@@ -591,17 +597,18 @@ namespace Apache
try
{
+ CacheImpl *cacheImpl = CacheRegionHelper::getCacheImpl(cache->GetNative().get());
if (tmp->ClassId < 0xa0000000)
{
- native::SerializationRegistry::addType(typeId,
- (native::TypeFactoryMethod)System::Runtime::InteropServices::
+ cacheImpl->getSerializationRegistry()->addType(typeId,
+ (native::Serializable*(*)())System::Runtime::InteropServices::
Marshal::GetFunctionPointerForDelegate(
nativeDelegate).ToPointer());
}
else
{//special case for CacheableUndefined type
- native::SerializationRegistry::addType2(typeId,
- (native::TypeFactoryMethod)System::Runtime::InteropServices::
+ cacheImpl->getSerializationRegistry()->addType2(typeId,
+ (native::Serializable*(*)())System::Runtime::InteropServices::
Marshal::GetFunctionPointerForDelegate(
nativeDelegate).ToPointer());
}
@@ -613,12 +620,12 @@ namespace Apache
}
}
- void Apache::Geode::Client::Serializable::UnregisterTypeGeneric(Byte typeId)
+ void Apache::Geode::Client::Serializable::UnregisterTypeGeneric(Byte typeId, Cache^ cache)
{
BuiltInDelegatesGeneric->Remove(typeId);
_GF_MG_EXCEPTION_TRY2
- native::SerializationRegistry::removeType(typeId);
+ CacheRegionHelper::getCacheImpl(cache->GetNative().get())->getSerializationRegistry()->removeType(typeId);
_GF_MG_EXCEPTION_CATCH_ALL2
}
@@ -935,23 +942,23 @@ namespace Apache
}
generic<class TKey>
- native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(TKey key)
+ native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(TKey key, native::Cache* cache)
{
//System::Type^ managedType = TKey::typeid;
if (key != nullptr) {
//System::Type^ managedType = key->GetType();
- return GetUnmanagedValueGeneric(key->GetType(), key);
+ return GetUnmanagedValueGeneric(key->GetType(), key, cache);
}
return nullptr;
}
generic<class TKey>
- native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(TKey key, bool isAciiChar)
+ native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(TKey key, bool isAciiChar, native::Cache* cache)
{
//System::Type^ managedType = TKey::typeid;
if (key != nullptr) {
//System::Type^ managedType = key->GetType();
- return GetUnmanagedValueGeneric(key->GetType(), key, isAciiChar);
+ return GetUnmanagedValueGeneric(key->GetType(), key, isAciiChar, cache);
}
return nullptr;
}
@@ -1066,14 +1073,14 @@ namespace Apache
generic<class TKey>
native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(
- Type^ managedType, TKey key)
+ Type^ managedType, TKey key, native::Cache* cache)
{
- return GetUnmanagedValueGeneric(managedType, key, false);
+ return GetUnmanagedValueGeneric(managedType, key, false, cache);
}
generic<class TKey>
native::CacheableKeyPtr Serializable::GetUnmanagedValueGeneric(
- Type^ managedType, TKey key, bool isAsciiChar)
+ Type^ managedType, TKey key, bool isAsciiChar, native::Cache* cache)
{
Byte typeId = Apache::Geode::Client::Serializable::GetManagedTypeMappingGeneric(managedType);
@@ -1107,122 +1114,122 @@ namespace Apache
}
case native::GeodeTypeIds::CacheableBytes:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableBytes::Create((array<Byte>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableBytes::Create((array<Byte>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableDoubleArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableDoubleArray::Create((array<Double>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableDoubleArray::Create((array<Double>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableFloatArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableFloatArray::Create((array<float>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableFloatArray::Create((array<float>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableInt16Array:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt16Array::Create((array<Int16>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt16Array::Create((array<Int16>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableInt32Array:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt32Array::Create((array<Int32>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt32Array::Create((array<Int32>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableInt64Array:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt64Array::Create((array<Int64>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableInt64Array::Create((array<Int64>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableStringArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableStringArray::Create((array<String^>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableStringArray::Create((array<String^>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableFileName:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)(Apache::Geode::Client::CacheableFileName^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)(Apache::Geode::Client::CacheableFileName^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableHashTable://collection::hashtable
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableHashTable::Create((System::Collections::Hashtable^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableHashTable::Create((System::Collections::Hashtable^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableHashMap://generic dictionary
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableHashMap::Create((System::Collections::IDictionary^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableHashMap::Create((System::Collections::IDictionary^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableVector://collection::arraylist
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)CacheableVector::Create((System::Collections::IList^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)CacheableVector::Create((System::Collections::IList^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableArrayList://generic ilist
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableArrayList::Create((System::Collections::IList^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableArrayList::Create((System::Collections::IList^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableLinkedList://generic linked list
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableLinkedList::Create((System::Collections::Generic::LinkedList<Object^>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableLinkedList::Create((System::Collections::Generic::LinkedList<Object^>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableStack:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert(Apache::Geode::Client::CacheableStack::Create((System::Collections::ICollection^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert(Apache::Geode::Client::CacheableStack::Create((System::Collections::ICollection^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case 7: //GeodeClassIds::CacheableManagedObject
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObject^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObject^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case 8://GeodeClassIds::CacheableManagedObjectXml
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObjectXml^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObjectXml^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableObjectArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObjectArray^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableObjectArray^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableIdentityHashMap:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert(Apache::Geode::Client::CacheableIdentityHashMap::Create((System::Collections::IDictionary^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert(Apache::Geode::Client::CacheableIdentityHashMap::Create((System::Collections::IDictionary^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableHashSet://no need of it, default case should work
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableHashSet^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableHashSet^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableLinkedHashSet://no need of it, default case should work
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableLinkedHashSet^)key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((Apache::Geode::Client::CacheableLinkedHashSet^)key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CacheableDate:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableDate::Create((System::DateTime)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CacheableDate::Create((System::DateTime)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::BooleanArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::BooleanArray::Create((array<bool>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::BooleanArray::Create((array<bool>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
case native::GeodeTypeIds::CharArray:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CharArray::Create((array<Char>^)key)));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert((IGeodeSerializable^)Apache::Geode::Client::CharArray::Create((array<Char>^)key), cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
default:
{
- native::CacheablePtr kPtr(SafeGenericMSerializableConvert(key));
+ native::CacheablePtr kPtr(SafeGenericMSerializableConvert(key, cache));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
}
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/Serializable.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/Serializable.hpp b/src/clicache/src/Serializable.hpp
index 999dc80..6f9e51f 100644
--- a/src/clicache/src/Serializable.hpp
+++ b/src/clicache/src/Serializable.hpp
@@ -31,6 +31,7 @@
#include "Log.hpp"
#include <vcclr.h>
#include "IPdxTypeMapper.hpp"
+
using namespace System::Reflection;
using namespace System;
using namespace System::Collections::Generic;
@@ -45,6 +46,8 @@ namespace Apache
interface class IPdxSerializable;
interface class IPdxSerializer;
+ ref class Cache;
+
/// <summary>
/// Signature of native function delegates passed to native
/// <c>native::Serializable::registerType</c>.
@@ -246,7 +249,8 @@ namespace Apache
/// to a <c>Serializable</c>.
/// </summary>
static operator Apache::Geode::Client::Serializable^ (array<String^>^ value);
-
+
+
/// <summary>
/// Register an instance factory method for a given type.
/// This should be used when registering types that implement
@@ -263,7 +267,7 @@ namespace Apache
/// in registering the type; check <c>Utils::LastError</c> for more
/// information in the latter case.
/// </exception>
- static void RegisterTypeGeneric(TypeFactoryMethodGeneric^ creationMethod);
+ static void RegisterTypeGeneric(TypeFactoryMethodGeneric^ creationMethod, Cache^ cache);
/// <summary>
/// Set the PDX serializer for the cache. If this serializer is set,
@@ -298,10 +302,10 @@ namespace Apache
internal:
- static System::Int32 GetPDXIdForType(const char* poolName, IGeodeSerializable^ pdxType);
- static IGeodeSerializable^ GetPDXTypeById(const char* poolName, System::Int32 typeId);
+ static System::Int32 GetPDXIdForType(const char* poolName, IGeodeSerializable^ pdxType, const native::Cache* cache);
+ static IGeodeSerializable^ GetPDXTypeById(const char* poolName, System::Int32 typeId, const native::Cache* cache);
static IPdxSerializable^ Serializable::GetPdxType(String^ className);
- static void RegisterPDXManagedCacheableKey(bool appDomainEnable);
+ static void RegisterPDXManagedCacheableKey(bool appDomainEnable, Cache^ cache);
static bool IsObjectAndPdxSerializerRegistered(String^ className);
static IPdxSerializer^ GetPdxSerializer();
@@ -311,8 +315,8 @@ namespace Apache
static Type^ GetType(String^ className);
- static int GetEnumValue(Internal::EnumInfo^ ei);
- static Internal::EnumInfo^ GetEnum(int val);
+ static int GetEnumValue(Internal::EnumInfo^ ei, const native::Cache* cache);
+ static Internal::EnumInfo^ GetEnum(int val, const native::Cache* cache);
static Dictionary<String^, PdxTypeFactoryMethod^>^ PdxDelegateMap =
gcnew Dictionary<String^, PdxTypeFactoryMethod^>();
@@ -441,31 +445,31 @@ namespace Apache
/// <exception cref="IllegalArgumentException">
/// if the method is null
/// </exception>
- static void RegisterTypeGeneric(Byte typeId,
- TypeFactoryMethodGeneric^ creationMethod, Type^ type);
+ static void RegisterTypeGeneric(Byte typeId, TypeFactoryMethodGeneric^ creationMethod, Type^ type, Cache^ cache);
+
/// <summary>
/// Unregister the type with the given typeId
/// </summary>
/// <param name="typeId">typeId of the type to unregister.</param>
- static void UnregisterTypeGeneric(Byte typeId);
+ static void UnregisterTypeGeneric(Byte typeId, Cache^ cache);
generic<class TValue>
static TValue GetManagedValueGeneric(native::SerializablePtr val);
generic<class TKey>
- static native::CacheableKeyPtr GetUnmanagedValueGeneric(TKey key);
+ static native::CacheableKeyPtr GetUnmanagedValueGeneric(TKey key, native::Cache* cache);
generic<class TKey>
- static native::CacheableKeyPtr GetUnmanagedValueGeneric(TKey key, bool isAciiChar);
+ static native::CacheableKeyPtr GetUnmanagedValueGeneric(TKey key, bool isAciiChar, native::Cache* cache);
generic<class TKey>
static native::CacheableKeyPtr GetUnmanagedValueGeneric(
- Type^ managedType, TKey key);
+ Type^ managedType, TKey key, native::Cache* cache);
generic<class TKey>
static native::CacheableKeyPtr GetUnmanagedValueGeneric(
- Type^ managedType, TKey key, bool isAsciiChar);
+ Type^ managedType, TKey key, bool isAsciiChar, native::Cache* cache);
/// <summary>
/// Static map of <c>TypeFactoryMethod</c> delegates created
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/StatisticsFactory.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/StatisticsFactory.cpp b/src/clicache/src/StatisticsFactory.cpp
index dd100e1..79cfc44 100644
--- a/src/clicache/src/StatisticsFactory.cpp
+++ b/src/clicache/src/StatisticsFactory.cpp
@@ -16,13 +16,14 @@
*/
+#include "begin_native.hpp"
+#include "statistics/StatisticsManager.hpp"
+#include "end_native.hpp"
-//#include "geode_includes.hpp"
#include "StatisticsFactory.hpp"
#include "StatisticsType.hpp"
#include "StatisticDescriptor.hpp"
#include "Statistics.hpp"
-
#include "impl/ManagedString.hpp"
#include "ExceptionTypes.hpp"
#include "impl/SafeConvert.hpp"
@@ -35,21 +36,23 @@ namespace Apache
namespace Client
{
- StatisticsFactory^ StatisticsFactory::GetExistingInstance()
- {
- _GF_MG_EXCEPTION_TRY2/* due to auto replace */
+ // TODO globals - pass in distributed system
+ //StatisticsFactory^ StatisticsFactory::GetExistingInstance(DistributedSystem^ distributedSystem)
+ //{
+ // _GF_MG_EXCEPTION_TRY2/* due to auto replace */
- return StatisticsFactory::Create(apache::geode::statistics::StatisticsFactory::getExistingInstance());
- _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */
- }
+ // return StatisticsFactory::Create(distributedSystem->getStatisticsManager()->getStatisticsFactory());
+
+ // _GF_MG_EXCEPTION_CATCH_ALL2/* due to auto replace */
+ //}
StatisticDescriptor^ StatisticsFactory::CreateIntCounter( String^ name, String^ description,String^ units )
{
return CreateIntCounter(name,description,units,true);
}
- StatisticDescriptor^ StatisticsFactory::CreateIntCounter(String^ name, String^ description,String^ units, int8_t largerBetter)
+ StatisticDescriptor^ StatisticsFactory::CreateIntCounter(String^ name, String^ description,String^ units, bool largerBetter)
{
ManagedString mg_name( name );
ManagedString mg_description( description );
@@ -66,7 +69,7 @@ namespace Apache
return CreateLongCounter(name,description,units,true);
}
- StatisticDescriptor^ StatisticsFactory::CreateLongCounter( String^ name, String^ description,String^ units, int8_t largerBetter )
+ StatisticDescriptor^ StatisticsFactory::CreateLongCounter( String^ name, String^ description,String^ units, bool largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
@@ -83,7 +86,7 @@ namespace Apache
return CreateDoubleCounter(name,description,units,true);
}
- StatisticDescriptor^ StatisticsFactory::CreateDoubleCounter( String^ name, String^ description, String^ units, int8_t largerBetter )
+ StatisticDescriptor^ StatisticsFactory::CreateDoubleCounter( String^ name, String^ description, String^ units, bool largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
@@ -101,7 +104,7 @@ namespace Apache
return CreateIntGauge(name,description,units,false);
}
- StatisticDescriptor^ StatisticsFactory::CreateIntGauge( String^ name, String^ description, String^ units, int8_t largerBetter )
+ StatisticDescriptor^ StatisticsFactory::CreateIntGauge( String^ name, String^ description, String^ units, bool largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
@@ -118,7 +121,7 @@ namespace Apache
return CreateLongGauge(name,description,units,false);
}
- StatisticDescriptor^ StatisticsFactory::CreateLongGauge( String^ name, String^ description, String^ units, int8_t largerBetter )
+ StatisticDescriptor^ StatisticsFactory::CreateLongGauge( String^ name, String^ description, String^ units, bool largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
@@ -135,7 +138,7 @@ namespace Apache
return CreateDoubleGauge(name,description,units,false);
}
- StatisticDescriptor^ StatisticsFactory::CreateDoubleGauge( String^ name, String^ description, String^ units,int8_t largerBetter )
+ StatisticDescriptor^ StatisticsFactory::CreateDoubleGauge( String^ name, String^ description, String^ units, bool largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/StatisticsFactory.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/StatisticsFactory.hpp b/src/clicache/src/StatisticsFactory.hpp
index 7a5d330..efce9c5 100644
--- a/src/clicache/src/StatisticsFactory.hpp
+++ b/src/clicache/src/StatisticsFactory.hpp
@@ -66,14 +66,14 @@ namespace Apache
/// Return a pre-existing statistics factory. Typically configured through
/// creation of a distributed system.
/// </summary>
- static StatisticsFactory^ GetExistingInstance();
+ //static StatisticsFactory^ GetExistingInstance();
/// <summary>
/// Creates and returns an int counter <see cref="StatisticDescriptor" />
/// with the given <c>name</c>, <c>description</c>,
/// <c>units</c>, and with larger values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateIntCounter(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateIntCounter(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an int counter <see cref="StatisticDescriptor" />
@@ -87,7 +87,7 @@ namespace Apache
/// with the given <c>name</c>, <c>description</c>,
/// <c>units</c>, and with larger values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateLongCounter(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateLongCounter(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an long counter <see cref="StatisticDescriptor" />
@@ -102,7 +102,7 @@ namespace Apache
/// <c>units</c>, and with larger values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateDoubleCounter(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateDoubleCounter(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an double counter <see cref="StatisticDescriptor" />
@@ -116,7 +116,7 @@ namespace Apache
/// with the given <c>name</c>, <c>description</c>,
/// <c>units</c>, and with smaller values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateIntGauge(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateIntGauge(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an int gauge <see cref="StatisticDescriptor" />
@@ -130,7 +130,7 @@ namespace Apache
/// with the given <c>name</c>, <c>description</c>,
/// <c>units</c>, and with smaller values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateLongGauge(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateLongGauge(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an long gauge <see cref="StatisticDescriptor" />
@@ -144,7 +144,7 @@ namespace Apache
/// with the given <c>name</c>, <c>description</c>,
/// <c>units</c>, and with smaller values indicating better performance.
/// </summary>
- virtual StatisticDescriptor^ CreateDoubleGauge(String^ name, String^ description, String^ units, int8_t largerBetter);
+ virtual StatisticDescriptor^ CreateDoubleGauge(String^ name, String^ description, String^ units, bool largerBetter);
/// <summary>
/// Creates and returns an double gauge <see cref="StatisticDescriptor" />
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/impl/AuthenticatedCache.cpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/impl/AuthenticatedCache.cpp b/src/clicache/src/impl/AuthenticatedCache.cpp
index a8e2b15..acd96c0 100644
--- a/src/clicache/src/impl/AuthenticatedCache.cpp
+++ b/src/clicache/src/impl/AuthenticatedCache.cpp
@@ -15,7 +15,12 @@
* limitations under the License.
*/
-//#include "../geode_includes.hpp"
+
+#include "begin_native.hpp"
+#include "CacheRegionHelper.hpp"
+#include "CacheImpl.hpp"
+#include "end_native.hpp"
+
#include "../Cache.hpp"
#include "../DistributedSystem.hpp"
#include "../Region.hpp"
@@ -25,6 +30,7 @@
#include "../Execution.hpp"
#include "AuthenticatedCache.hpp"
#include "PdxInstanceFactoryImpl.hpp"
+
using namespace System;
namespace Apache
@@ -123,7 +129,7 @@ namespace Apache
IPdxInstanceFactory^ AuthenticatedCache::CreatePdxInstanceFactory(String^ className)
{
- return gcnew Internal::PdxInstanceFactoryImpl(className);
+ return gcnew Internal::PdxInstanceFactoryImpl(className, native::CacheRegionHelper::getCacheImpl(m_nativeptr->get())->getCache());
}
} // namespace Client
} // namespace Geode
http://git-wip-us.apache.org/repos/asf/geode-native/blob/da389793/src/clicache/src/impl/CacheLoader.hpp
----------------------------------------------------------------------
diff --git a/src/clicache/src/impl/CacheLoader.hpp b/src/clicache/src/impl/CacheLoader.hpp
index 9f8a049..c785338 100644
--- a/src/clicache/src/impl/CacheLoader.hpp
+++ b/src/clicache/src/impl/CacheLoader.hpp
@@ -70,7 +70,7 @@ namespace Apache
Object^ ghelper = Serializable::GetManagedValueGeneric<Object^>(helper);
//return SafeMSerializableConvertGeneric(m_loader->Load(gregion, gkey, ghelper));
- return Serializable::GetUnmanagedValueGeneric<TValue>(m_loader->Load(gregion, gkey, ghelper));
+ return Serializable::GetUnmanagedValueGeneric<TValue>(m_loader->Load(gregion, gkey, ghelper), nullptr);
}
virtual void close( const apache::geode::client::RegionPtr& region )