client-cpp  0.7.0
IKaaClientStateStorage.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2014 CyberVision, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef ICLIENTSTATESTORAGE_HPP_
18 #define ICLIENTSTATESTORAGE_HPP_
19 
20 #include <cstdint>
21 #include <memory>
22 #include "kaa/gen/EndpointGen.hpp"
24 
25 namespace kaa {
26 
27 typedef struct {
28  std::string topicId;
29  std::string topicName;
30  SubscriptionType subscriptionType;
31  std::uint32_t sequenceNumber;
33 
34 typedef struct {
37  std::int32_t eventSequenceNumber;
39 
40 typedef std::map<std::string, DetailedTopicState> DetailedTopicStates;
41 
42 typedef std::map<std::string, std::string> AttachedEndpoints;
43 
45 public:
47 
48  virtual std::int32_t getEventSequenceNumber() const = 0;
49  virtual void setEventSequenceNumber(std::int32_t sequenceNumber) = 0;
50 
51  virtual std::int32_t getConfigurationSequenceNumber() const = 0;
52  virtual void setConfigurationSequenceNumber(std::int32_t sequenceNumber) = 0;
53 
54  virtual std::int32_t getNotificationSequenceNumber() const = 0;
55  virtual void setNotificationSequenceNumber(std::int32_t sequenceNumber) = 0;
56 
57  virtual SequenceNumber getAppSeqNumber() const = 0;
58  virtual void setAppSeqNumber(SequenceNumber appSeqNumber) = 0;
59 
60  virtual bool isRegistered() const = 0;
61  virtual void setRegistered(bool isRegistered) = 0;
62 
63  virtual DetailedTopicStates getTopicStates() const = 0;
64  virtual void setTopicStates(const DetailedTopicStates& stateContainer) = 0;
65 
66  virtual HashDigest getProfileHash() const = 0;
67  virtual void setProfileHash(HashDigest hash) = 0;
68 
69  virtual AttachedEndpoints getAttachedEndpoints() const = 0;
70  virtual void setAttachedEndpoints(const AttachedEndpoints& endpoints) = 0;
71 
72  virtual std::string getEndpointAccessToken() = 0;
73  virtual void setEndpointAccessToken(const std::string& token) = 0;
74  virtual std::string refreshEndpointAccessToken() = 0;
75 
76  virtual bool getEndpointAttachStatus() const = 0;
77  virtual void setEndpointAttachStatus(bool isAttached) = 0;
78 
79  virtual std::string getEndpointKeyHash() const = 0;
80  virtual void setEndpointKeyHash(const std::string& keyHash) = 0;
81 
82  virtual bool isConfigurationVersionUpdated() const = 0;
83 
84  virtual void read() = 0;
85  virtual void save() = 0;
86 };
87 
88 typedef std::shared_ptr<IKaaClientStateStorage> IKaaClientStateStoragePtr;
89 
90 } // namespace kaa
91 
92 
93 #endif /* ICLIENTSTATESTORAGE_HPP_ */
virtual HashDigest getProfileHash() const =0
virtual void setEndpointKeyHash(const std::string &keyHash)=0
virtual void setEventSequenceNumber(std::int32_t sequenceNumber)=0
virtual void setProfileHash(HashDigest hash)=0
virtual std::int32_t getConfigurationSequenceNumber() const =0
virtual std::string refreshEndpointAccessToken()=0
virtual void setAppSeqNumber(SequenceNumber appSeqNumber)=0
virtual AttachedEndpoints getAttachedEndpoints() const =0
std::int32_t notificationSequenceNumber
virtual bool getEndpointAttachStatus() const =0
std::map< std::string, std::string > AttachedEndpoints
virtual std::int32_t getNotificationSequenceNumber() const =0
virtual std::string getEndpointKeyHash() const =0
virtual void setTopicStates(const DetailedTopicStates &stateContainer)=0
std::vector< std::uint8_t > HashDigest
std::shared_ptr< IKaaClientStateStorage > IKaaClientStateStoragePtr
virtual void setAttachedEndpoints(const AttachedEndpoints &endpoints)=0
virtual bool isRegistered() const =0
virtual SequenceNumber getAppSeqNumber() const =0
virtual void setRegistered(bool isRegistered)=0
virtual void setNotificationSequenceNumber(std::int32_t sequenceNumber)=0
virtual std::string getEndpointAccessToken()=0
std::map< std::string, DetailedTopicState > DetailedTopicStates
virtual void setConfigurationSequenceNumber(std::int32_t sequenceNumber)=0
virtual bool isConfigurationVersionUpdated() const =0
std::int32_t configurationSequenceNumber
virtual void setEndpointAccessToken(const std::string &token)=0
virtual DetailedTopicStates getTopicStates() const =0
virtual std::int32_t getEventSequenceNumber() const =0
virtual void setEndpointAttachStatus(bool isAttached)=0