blob: 0352d4e446ccb790b60e61808611fe9cb0fa5de1 [file] [log] [blame]
/*=========================================================================
* Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
* This product is protected by U.S. and international copyright
* and intellectual property laws. Pivotal products are covered by
* more patents listed at http://www.pivotal.io/patents.
*=========================================================================
*/
#include "gf_includes.hpp"
#include "StatisticsFactoryM.hpp"
#include "StatisticsTypeM.hpp"
#include "StatisticDescriptorM.hpp"
#include "StatisticsM.hpp"
#include "impl/SafeConvert.hpp"
#include "ExceptionTypesM.hpp"
namespace GemStone
{
namespace GemFire
{
namespace Cache
{
StatisticsFactory^ StatisticsFactory::GetExistingInstance()
{
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticsFactory::Create(gemfire_statistics::StatisticsFactory::getExistingInstance());
_GF_MG_EXCEPTION_CATCH_ALL
}
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)
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createIntCounter(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticDescriptor^ StatisticsFactory::CreateLongCounter( String^ name, String^ description,String^ units )
{
return CreateLongCounter(name,description,units,true);
}
StatisticDescriptor^ StatisticsFactory::CreateLongCounter( String^ name, String^ description,String^ units, int8_t largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createLongCounter(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticDescriptor^ StatisticsFactory::CreateDoubleCounter( String^ name, String^ description, String^ units )
{
return CreateDoubleCounter(name,description,units,true);
}
StatisticDescriptor^ StatisticsFactory::CreateDoubleCounter( String^ name, String^ description, String^ units, int8_t largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createDoubleCounter(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticDescriptor^ StatisticsFactory::CreateIntGauge( String^ name, String^ description, String^ units )
{
return CreateIntGauge(name,description,units,false);
}
StatisticDescriptor^ StatisticsFactory::CreateIntGauge( String^ name, String^ description, String^ units, int8_t largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createIntGauge(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticDescriptor^ StatisticsFactory::CreateLongGauge( String^ name, String^ description, String^ units )
{
return CreateLongGauge(name,description,units,false);
}
StatisticDescriptor^ StatisticsFactory::CreateLongGauge( String^ name, String^ description, String^ units, int8_t largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createLongGauge(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticDescriptor^ StatisticsFactory::CreateDoubleGauge( String^ name, String^ description, String^ units )
{
return CreateDoubleGauge(name,description,units,false);
}
StatisticDescriptor^ StatisticsFactory::CreateDoubleGauge( String^ name, String^ description, String^ units,int8_t largerBetter )
{
ManagedString mg_name( name );
ManagedString mg_description( description );
ManagedString mg_units( units );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticDescriptor::Create(NativePtr->createDoubleGauge(mg_name.CharPtr, mg_description.CharPtr, mg_units.CharPtr, largerBetter));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticsType^ StatisticsFactory::CreateType( String^ name, String^ description,
array<StatisticDescriptor^>^ stats, int32 statsLength)
{
ManagedString mg_name( name );
ManagedString mg_description( description );
_GF_MG_EXCEPTION_TRY
gemfire_statistics::StatisticDescriptor ** nativedescriptors = new gemfire_statistics::StatisticDescriptor*[statsLength];
for (int32_t index = 0; index < statsLength; index++)
{
nativedescriptors[index] = GetNativePtr<gemfire_statistics::StatisticDescriptor>(stats[index]);
}
return GemStone::GemFire::Cache::StatisticsType::Create(NativePtr->createType(mg_name.CharPtr, mg_description.CharPtr, nativedescriptors, statsLength));
_GF_MG_EXCEPTION_CATCH_ALL
}
StatisticsType^ StatisticsFactory::FindType(String^ name)
{
ManagedString mg_name( name );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::StatisticsType::Create(NativePtr->findType(mg_name.CharPtr));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateStatistics(StatisticsType^ type)
{
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type)));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateStatistics(StatisticsType^ type, String^ textId)
{
ManagedString mg_text( textId );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type),(char*)mg_text.CharPtr));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateStatistics(StatisticsType^ type, String^ textId, int64_t numericId)
{
ManagedString mg_text( textId );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type),(char*)mg_text.CharPtr, numericId));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateAtomicStatistics(StatisticsType^ type)
{
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createAtomicStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type)));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateAtomicStatistics(StatisticsType^ type, String^ textId)
{
ManagedString mg_text( textId );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createAtomicStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type),(char*)mg_text.CharPtr));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::CreateAtomicStatistics(StatisticsType^ type, String^ textId, int64_t numericId)
{
ManagedString mg_text( textId );
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->createAtomicStatistics(GetNativePtr<gemfire_statistics::StatisticsType>(type),(char*)mg_text.CharPtr, numericId));
_GF_MG_EXCEPTION_CATCH_ALL
}
Statistics^ StatisticsFactory::FindFirstStatisticsByType( StatisticsType^ type )
{
_GF_MG_EXCEPTION_TRY
return GemStone::GemFire::Cache::Statistics::Create(NativePtr->findFirstStatisticsByType(GetNativePtr<gemfire_statistics::StatisticsType>(type)));
_GF_MG_EXCEPTION_CATCH_ALL
}
String^ StatisticsFactory::Name::get( )
{
return ManagedString::Get( NativePtr->getName() );
}
int64_t StatisticsFactory::ID::get( )
{
return NativePtr->getId();
}
}
}
}