H:/gfcppsancout/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  * (c) Copyright 2004-2007, GemStone Systems, Inc. All Rights Reserved.
00005  * 1260 NW Waterhouse Ave., Suite 200,  Beaverton, OR 97006
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;//currently only implemented stats class which needs this flag as true is LinuxProcessStats. 
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    * Destructor
00111    */
00112    virtual ~StatisticsFactory() {}
00113 
00114   };//class
00115 
00116 }; //namespace
00117 
00118 #endif //  _GEMFIRE__STATISTICS_STATISTICSFACTORY_HPP_ 

GemFire C++ Cache API Documentation