00001 #ifndef _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
00002 #define _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
00003
00004
00005
00006
00007
00008
00009 #include "../gfcpp_globals.hpp"
00010 #include "../ExceptionTypes.hpp"
00011 #include "StatisticsTypeFactory.hpp"
00012 #include "Statistics.hpp"
00013 #include "StatisticsType.hpp"
00014
00018 namespace gemfire_statistics {
00040 class CPPCACHE_EXPORT StatisticsFactory : public StatisticsTypeFactory
00041 {
00042
00043 public :
00044
00049 static StatisticsFactory* getExistingInstance();
00050
00056 virtual Statistics* createStatistics(StatisticsType* type)=0;
00057
00063 virtual Statistics* createStatistics(StatisticsType* type, const char* textId)=0;
00064
00070 virtual Statistics* createStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
00071
00072
00081 virtual Statistics* createOsStatistics(StatisticsType* type, const char* textId, int64 numericId, int32 osStatFlags)=0;
00082
00088 virtual Statistics* createAtomicStatistics(StatisticsType* type)=0;
00089
00090
00096 virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId)=0;
00097
00098
00104 virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
00105
00107 virtual Statistics* findFirstStatisticsByType( StatisticsType* type ) = 0;
00108
00109
00110
00111
00112 virtual ~StatisticsFactory() {}
00113
00114 };
00115
00116 };
00117
00118 #endif // _GEMFIRE__STATISTICS_STATISTICSFACTORY_HPP_