/export/rook2/users/build/gfcppsancout64/product/include/gfcpp/DistributedSystem.hpp

Go to the documentation of this file.
00001 #ifndef __GEMFIRE_DISTRIBUTEDSYSTEM_H__
00002 #define __GEMFIRE_DISTRIBUTEDSYSTEM_H__
00003 /*=========================================================================
00004  * (c) Copyright 2002-2007, GemStone Systems, Inc. All Rights Reserved.
00005  * 1260 NW Waterhouse Ave., Suite 200,  Beaverton, OR 97006
00006  *========================================================================
00007  */
00008 
00013 #include "gfcpp_globals.hpp"
00014 #include "gf_types.hpp"
00015 #include "ExceptionTypes.hpp"
00016 #include "Properties.hpp"
00017 #include "VectorT.hpp"
00018 
00019 namespace gemfire {
00027 class SystemProperties;
00028 class DistributedSystemImpl;
00029 class CacheRegionHelper;
00030 class DiffieHellman;
00031 class TcrConnection;
00032 
00033 class CPPCACHE_EXPORT DistributedSystem: public SharedBase {
00034 
00038   public:
00039 
00050   static DistributedSystemPtr connect(const char* name,
00051                                       const PropertiesPtr& configPtr = NULLPTR);
00052 
00053 
00058   static  void disconnect();
00059 
00064     static SystemProperties* getSystemProperties();
00065 
00069     virtual const char *  getName() const;
00070 
00075     static bool isConnected();
00076 
00081     static DistributedSystemPtr getInstance();
00082 
00086     virtual ~DistributedSystem();
00087 
00088 protected:
00092     DistributedSystem(const char* name);
00093 
00094     private:
00095      char* m_name;
00096      static bool m_connected;
00097      static DistributedSystemPtr* m_instance_ptr;
00098      //static DistributedSystemImpl *m_impl;
00099 
00100     public:
00101      static DistributedSystemImpl *m_impl;
00102 friend class CacheRegionHelper;
00103 friend class DistributedSystemImpl;
00104 friend class TcrConnection;
00105 };
00106 
00107 
00108 } // namespace gemfire
00109 
00110 #endif //ifndef __GEMFIRE_DISTRIBUTEDSYSTEM_H__

GemFire C++ Cache API Documentation