build-artifacts/win/product/include/gfcpp/statistics/StatisticsFactory.hpp

Go to the documentation of this file.
00001 #ifndef  _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
00002 #define  _GEMFIRE_STATISTICS_STATISTICSFACTORY_HPP_
00003 /*=========================================================================
00004  * Copyright (c) 2004-2014 Pivotal Software, Inc. All Rights Reserved.
00005  * This product is protected by U.S. and international copyright
00006  * and intellectual property laws. Pivotal products are covered by
00007  * more patents listed at http://www.pivotal.io/patents.
00008  *=========================================================================
00009  */
00010 #include "../gfcpp_globals.hpp"
00011 #include "StatisticDescriptor.hpp"
00012 #include "StatisticsType.hpp"
00013 #include "../ExceptionTypes.hpp"
00014 #include "Statistics.hpp"
00015 
00019 namespace gemfire_statistics {
00020 
00041 class CPPCACHE_EXPORT StatisticsFactory  {
00042 protected:
00043   StatisticsFactory(){}
00044   StatisticsFactory(const StatisticsFactory &){}
00045 
00046 public:
00047 
00052   static StatisticsFactory* getExistingInstance();
00053 
00054   virtual  ~StatisticsFactory() {}
00055 
00062   virtual StatisticDescriptor* createIntCounter(const char* name, const char* description,const char* units, int8 largerBetter = true) =0;
00063 
00064 
00071   virtual StatisticDescriptor*  createLongCounter(const char* name, const char* description,const char* units, int8 largerBetter = true)=0;
00072 
00073 
00080   virtual StatisticDescriptor*  createDoubleCounter(const char* name, const char* description, const char* units, int8 largerBetter = true)=0;
00081 
00082 
00088   virtual StatisticDescriptor*  createIntGauge(const char* name, const char* description, const char* units,int8 largerBetter= false)=0;
00089 
00090 
00096   virtual StatisticDescriptor*  createLongGauge(const char* name, const char* description,const char* units,int8 largerBetter= false)=0;
00097 
00098 
00104   virtual StatisticDescriptor*  createDoubleGauge(const char* name, const char* description, const char* units, int8 largerBetter= false)=0;
00105 
00106 
00114   virtual StatisticsType* createType(const char* name, const char* description,
00115                                    StatisticDescriptor** stats, int32 statsLength)=0;
00116 
00117 
00123   virtual StatisticsType* findType(const char* name)=0;
00124 
00130   virtual Statistics* createStatistics(StatisticsType* type)=0;
00131 
00137    virtual Statistics* createStatistics(StatisticsType* type, const char* textId)=0;
00138 
00144    virtual Statistics* createStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
00145 
00151    virtual Statistics* createAtomicStatistics(StatisticsType* type)=0;
00152 
00158    virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId)=0;
00159 
00160 
00166    virtual Statistics* createAtomicStatistics(StatisticsType* type, const char* textId, int64 numericId)=0;
00167 
00169    virtual Statistics* findFirstStatisticsByType( StatisticsType* type ) = 0;
00170 
00174    virtual const char* getName()=0;
00175 
00176 
00180    virtual int64 getId()=0;
00181    
00182 private:
00183   const StatisticsFactory& operator=( const StatisticsFactory& );
00184 
00185   };//class
00186 }; //namespace
00187 
00188 #endif //  _GEMFIRE__STATISTICS_STATISTICSFACTORY_HPP_ 

GemFire C++ Cache API Documentation