client-cpp  0.9.0
IKaaChannelManager.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2014-2016 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 IKAACHANNELMANAGER_HPP_
18 #define IKAACHANNELMANAGER_HPP_
19 
20 #include <list>
21 
25 
26 namespace kaa {
27 
28 class IIServerInfo;
29 
34 {
35 public:
36 
37  virtual void setFailoverStrategy(IFailoverStrategyPtr strategy) = 0;
38 
47  virtual void setChannel(TransportType type, IDataChannelPtr channel) = 0;
48 
56  virtual void addChannel(IDataChannelPtr channel) = 0;
57 
65  virtual void removeChannel(const std::string& id) = 0;
66 
74  virtual void removeChannel(IDataChannelPtr channel) = 0;
75 
83  virtual std::list<IDataChannelPtr> getChannels() = 0;
84 
96 
106  virtual IDataChannelPtr getChannel(const std::string& channelId) = 0;
107 
118  virtual void onServerFailed(ITransportConnectionInfoPtr connectionInfo, KaaFailoverReason reason) = 0;
119 
127  virtual void onTransportConnectionInfoUpdated(ITransportConnectionInfoPtr connectionInfo) = 0;
128 
132  virtual void clearChannelList() = 0;
133 
141  virtual void setConnectivityChecker(ConnectivityCheckerPtr checker) = 0;
142 
147  virtual void shutdown() = 0;
148 
153  virtual void pause() = 0;
154 
159  virtual void resume() = 0;
160 
161  virtual ~IKaaChannelManager() {}
162 };
163 
165 
166 } // namespace kaa
167 
168 
169 #endif /* IKAACHANNELMANAGER_HPP_ */
virtual void onTransportConnectionInfoUpdated(ITransportConnectionInfoPtr connectionInfo)=0
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)=0
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
std::shared_ptr< IFailoverStrategy > IFailoverStrategyPtr
virtual void onServerFailed(ITransportConnectionInfoPtr connectionInfo, KaaFailoverReason reason)=0
virtual IDataChannelPtr getChannelByTransportType(TransportType type)=0
virtual void addChannel(IDataChannelPtr channel)=0
virtual void pause()=0
virtual void setFailoverStrategy(IFailoverStrategyPtr strategy)=0
virtual void clearChannelList()=0
virtual void removeChannel(const std::string &id)=0
IKaaChannelManager * IKaaChannelManagerPtr
virtual std::list< IDataChannelPtr > getChannels()=0
virtual IDataChannelPtr getChannel(const std::string &channelId)=0
virtual void shutdown()=0
virtual void setChannel(TransportType type, IDataChannelPtr channel)=0
virtual void resume()=0
std::shared_ptr< ITransportConnectionInfo > ITransportConnectionInfoPtr