build-artifacts/win/product/include/gfcpp/DistributedSystem.hpp

Go to the documentation of this file.
00001 #ifndef __GEMFIRE_DISTRIBUTEDSYSTEM_H__
00002 #define __GEMFIRE_DISTRIBUTEDSYSTEM_H__
00003 /*=========================================================================
00004  * Copyright (c) 2002-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 
00015 #include "gfcpp_globals.hpp"
00016 #include "gf_types.hpp"
00017 #include "ExceptionTypes.hpp"
00018 #include "Properties.hpp"
00019 #include "VectorT.hpp"
00020 
00021 namespace gemfire {
00029 class SystemProperties;
00030 class DistributedSystemImpl;
00031 class CacheRegionHelper;
00032 class DiffieHellman;
00033 class TcrConnection;
00034 
00035 class CPPCACHE_EXPORT DistributedSystem: public SharedBase {
00036 
00040   public:
00041 
00052   static DistributedSystemPtr connect(const char* name,
00053                                       const PropertiesPtr& configPtr = NULLPTR);
00054 
00055 
00060   static  void disconnect();
00061 
00066     static SystemProperties* getSystemProperties();
00067 
00071     virtual const char *  getName() const;
00072 
00077     static bool isConnected();
00078 
00083     static DistributedSystemPtr getInstance();
00084 
00088     virtual ~DistributedSystem();
00089 
00090 protected:
00094     DistributedSystem(const char* name);
00095 
00096     private:
00097      char* m_name;
00098      static bool m_connected;
00099      static DistributedSystemPtr* m_instance_ptr;
00100      //static DistributedSystemImpl *m_impl;
00101 
00102     public:
00103      static DistributedSystemImpl *m_impl;
00104 friend class CacheRegionHelper;
00105 friend class DistributedSystemImpl;
00106 friend class TcrConnection;
00107 
00108 private:
00109   DistributedSystem( const DistributedSystem& );
00110   const DistributedSystem& operator=( const DistributedSystem& );
00111 };
00112 
00113 
00114 } // namespace gemfire
00115 
00116 #endif //ifndef __GEMFIRE_DISTRIBUTEDSYSTEM_H__

GemFire C++ Cache API Documentation