client-cpp  0.0.1-SNAPSHOT
IDataChannel.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 IDATACHANNEL_HPP_
18 #define IDATACHANNEL_HPP_
19 
20 #include <boost/shared_ptr.hpp>
21 
22 #include <vector>
23 #include <map>
24 
25 #include "kaa/gen/BootstrapGen.hpp"
31 #include "kaa/gen/BootstrapGen.hpp"
35 
36 namespace kaa {
37 
38 class IPingServerStorage;
39 
43 class IDataChannel {
44 public:
45 
53  virtual void sync(TransportType type) = 0;
54 
58  virtual void syncAll() = 0;
59 
63  virtual void syncAck(TransportType type) = 0;
64 
72  virtual const std::string& getId() const = 0;
73 
81  virtual ChannelType getChannelType() const = 0;
82 
90  virtual ServerType getServerType() const = 0;
91 
99  virtual void setMultiplexer(IKaaDataMultiplexer *multiplexer) = 0;
100 
108  virtual void setDemultiplexer(IKaaDataDemultiplexer *demultiplexer) = 0;
109 
117  virtual void setServer(IServerInfoPtr server) = 0;
118 
127  virtual const std::map<TransportType, ChannelDirection>& getSupportedTransportTypes() const = 0;
128 
136  virtual void setConnectivityChecker(ConnectivityCheckerPtr checker) = 0;
137 
138  virtual ~IDataChannel() {}
139 
140 };
141 
143 
144 } // namespace kaa
145 
146 
147 #endif /* IDATACHANNEL_HPP_ */
virtual void syncAck(TransportType type)=0
virtual void setConnectivityChecker(ConnectivityCheckerPtr checker)=0
virtual void syncAll()=0
virtual void sync(TransportType type)=0
ServerType
Definition: ServerType.hpp:22
IDataChannel * IDataChannelPtr
virtual void setServer(IServerInfoPtr server)=0
virtual const std::string & getId() const =0
boost::shared_ptr< IServerInfo > IServerInfoPtr
Definition: IServerInfo.hpp:55
virtual const std::map< TransportType, ChannelDirection > & getSupportedTransportTypes() const =0
virtual ServerType getServerType() const =0
virtual void setMultiplexer(IKaaDataMultiplexer *multiplexer)=0
virtual ChannelType getChannelType() const =0
virtual void setDemultiplexer(IKaaDataDemultiplexer *demultiplexer)=0
boost::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
virtual ~IDataChannel()