VMware GemFire Native C++ Reference  9.1
DistributedSystem.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef GEODE_DISTRIBUTEDSYSTEM_H_
4 #define GEODE_DISTRIBUTEDSYSTEM_H_
5 
6 /*
7  * Licensed to the Apache Software Foundation (ASF) under one or more
8  * contributor license agreements. See the NOTICE file distributed with
9  * this work for additional information regarding copyright ownership.
10  * The ASF licenses this file to You under the Apache License, Version 2.0
11  * (the "License"); you may not use this file except in compliance with
12  * the License. You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  */
22 
27 #include "geode_globals.hpp"
28 #include "geode_types.hpp"
29 #include "ExceptionTypes.hpp"
30 #include "Properties.hpp"
31 #include "VectorT.hpp"
32 
33 namespace apache {
34 namespace geode {
35 namespace client {
44 class SystemProperties;
45 class DistributedSystemImpl;
46 class CacheRegionHelper;
47 class DiffieHellman;
48 class TcrConnection;
49 
54  public:
66  static DistributedSystemPtr connect(const char* name,
67  const PropertiesPtr& configPtr = NULLPTR);
68 
73  static void disconnect();
74 
79  static SystemProperties* getSystemProperties();
80 
84  virtual const char* getName() const;
85 
90  static bool isConnected();
91 
96  static DistributedSystemPtr getInstance();
97 
101  virtual ~DistributedSystem();
102 
103  protected:
107  DistributedSystem(const char* name);
108 
109  private:
110  char* m_name;
111  static bool m_connected;
112  static DistributedSystemPtr* m_instance_ptr;
113  // static DistributedSystemImpl *m_impl;
114 
115  public:
116  static DistributedSystemImpl* m_impl;
117  friend class CacheRegionHelper;
118  friend class DistributedSystemImpl;
119  friend class TcrConnection;
120 
121  private:
123  const DistributedSystem& operator=(const DistributedSystem&);
124 };
125 } // namespace client
126 } // namespace geode
127 } // namespace apache
128 
129 #endif // GEODE_DISTRIBUTEDSYSTEM_H_
A class for internal use, that encapsulates the properties that can be set from DistributedSystem::co...
Definition: SystemProperties.hpp:50
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
DistributedSystem encapsulates this applications "connection" into the Geode Java servers distributed...
Definition: DistributedSystem.hpp:50
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
Defines a reference counted shared pointer.
Definition: SharedPtr.hpp:52
This abstract base class is the base class of all user objects that have the shared capability of ref...
Definition: SharedBase.hpp:40
This namespace contains all the Geode C++ API classes, enumerations and globals.

Pivotal GemFire C++ Cache API Documentation