in clicache/src/Serializable.cpp [151:278]
std::shared_ptr<native::CacheableKey> Serializable::GetUnmanagedValueGeneric(
Type^ managedType, TKey key, bool isAsciiChar)
{
Byte typeId = Apache::Geode::Client::TypeRegistry::GetDsCodeForManagedType(managedType);
switch (typeId)
{
case native::internal::DSCode::CacheableByte: {
return Serializable::getCacheableByte((Byte)key);
}
case native::internal::DSCode::CacheableBoolean:
return Serializable::getCacheableBoolean((bool)key);
case native::internal::DSCode::CacheableCharacter:
return Serializable::getCacheableWideChar((Char)key);
case native::internal::DSCode::CacheableDouble:
return Serializable::getCacheableDouble((double)key);
case native::internal::DSCode::CacheableASCIIString:
return Serializable::GetCacheableString((String^)key);
case native::internal::DSCode::CacheableFloat:
return Serializable::getCacheableFloat((float)key);
case native::internal::DSCode::CacheableInt16: {
return Serializable::getCacheableInt16((System::Int16)key);
}
case native::internal::DSCode::CacheableInt32: {
return Serializable::getCacheableInt32((System::Int32)key);
}
case native::internal::DSCode::CacheableInt64: {
return Serializable::getCacheableInt64((System::Int64)key);
}
case native::internal::DSCode::CacheableBytes:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableBytes::Create((array<Byte>^)key));
}
case native::internal::DSCode::CacheableDoubleArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableDoubleArray::Create((array<Double>^)key));
}
case native::internal::DSCode::CacheableFloatArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableFloatArray::Create((array<float>^)key));
}
case native::internal::DSCode::CacheableInt16Array:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableInt16Array::Create((array<Int16>^)key));
}
case native::internal::DSCode::CacheableInt32Array:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableInt32Array::Create((array<Int32>^)key));
}
case native::internal::DSCode::CacheableInt64Array:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableInt64Array::Create((array<Int64>^)key));
}
case native::internal::DSCode::CacheableStringArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableStringArray::Create((array<String^>^)key));
}
case native::internal::DSCode::CacheableFileName:
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableFileName^)key);
}
case native::internal::DSCode::CacheableHashTable://collection::hashtable
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableHashTable::Create((System::Collections::Hashtable^)key));
}
case native::internal::DSCode::CacheableHashMap://generic dictionary
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableHashMap::Create((System::Collections::IDictionary^)key));
}
case native::internal::DSCode::CacheableVector://collection::arraylist
{
return GetNativeCacheableKeyWrapperForManagedISerializable(CacheableVector::Create((System::Collections::IList^)key));
}
case native::internal::DSCode::CacheableArrayList://generic ilist
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableArrayList::Create((System::Collections::IList^)key));
}
case native::internal::DSCode::CacheableLinkedList://generic linked list
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableLinkedList::Create((System::Collections::Generic::LinkedList<Object^>^)key));
}
case native::internal::DSCode::CacheableStack:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableStack::Create((System::Collections::ICollection^)key));
}
case native::internal::InternalId::CacheableManagedObject:
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableObject^)key);
}
case native::internal::InternalId::CacheableManagedObjectXml:
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableObjectXml^)key);
}
case native::internal::DSCode::CacheableObjectArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableObjectArray^)key);
}
case native::internal::DSCode::CacheableIdentityHashMap:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableIdentityHashMap::Create((System::Collections::IDictionary^)key));
}
case native::internal::DSCode::CacheableHashSet://no need of it, default case should work
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableHashSet^)key);
}
case native::internal::DSCode::CacheableLinkedHashSet://no need of it, default case should work
{
return GetNativeCacheableKeyWrapperForManagedISerializable((Apache::Geode::Client::CacheableLinkedHashSet^)key);
}
case native::internal::DSCode::CacheableDate:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CacheableDate::Create((System::DateTime)key));
}
case native::internal::DSCode::BooleanArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::BooleanArray::Create((array<bool>^)key));
}
case native::internal::DSCode::CharArray:
{
return GetNativeCacheableKeyWrapperForManagedISerializable(Apache::Geode::Client::CharArray::Create((array<Char>^)key));
}
default:
{
std::shared_ptr<native::Cacheable> kPtr(GetNativeWrapperForManagedObject(key));
return std::dynamic_pointer_cast<native::CacheableKey>(kPtr);
}
}
} //