VMware GemFire Native C++ Reference  9.1
CacheAttributes.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #ifndef GEODE_CACHEATTRIBUTES_H_
4 #define GEODE_CACHEATTRIBUTES_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 
30 namespace apache {
31 namespace geode {
32 namespace client {
33 
52 class CacheAttributesFactory;
53 
54 _GF_PTR_DEF_(CacheAttributes, CacheAttributesPtr);
55 
60  public:
64  int getRedundancyLevel();
65 
69  char* getEndpoints();
70 
71  ~CacheAttributes();
72 
73  bool operator==(const CacheAttributes& other) const;
74 
75  bool operator!=(const CacheAttributes& other) const;
76 
77  private:
81  void setRedundancyLevel(int redundancyLevel);
82 
86  void setEndpoints(char* endpoints);
87  // will be created by the factory
88 
89  CacheAttributes(const CacheAttributes& rhs);
91 
92  int32_t compareStringAttribute(char* attributeA, char* attributeB) const;
93  void copyStringAttribute(char*& lhs, const char* rhs);
94 
95  int m_redundancyLevel;
96  char* m_endpoints;
97  bool m_cacheMode;
98 
99  friend class CacheAttributesFactory;
100  friend class CacheImpl;
101 
102  const CacheAttributes& operator=(const CacheAttributes&);
103 };
104 } // namespace client
105 } // namespace geode
106 } // namespace apache
107 
108 #endif // GEODE_CACHEATTRIBUTES_H_
Defines attributes for configuring a cache.
Definition: CacheAttributes.hpp:56
Each enum represents a predefined RegionAttributes in a Cache.
Definition: Assert.hpp:31
#define CPPCACHE_EXPORT
Defines a Geode CPPCACHE export.
Definition: geode_base.hpp:58
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