19 #ifndef ABSTRACTHTTPCHANNEL_HPP_ 
   20 #define ABSTRACTHTTPCHANNEL_HPP_ 
   24 #if defined(KAA_DEFAULT_BOOTSTRAP_HTTP_CHANNEL) || defined (KAA_DEFAULT_OPERATION_HTTP_CHANNEL) 
   48 class AbstractHttpChannel : 
public ImpermanentDataChannel {
 
   50     AbstractHttpChannel(IKaaChannelManager *channelManager, 
const KeyPair& clientKeys);
 
   51     virtual ~AbstractHttpChannel() { }
 
   54     virtual void syncAll();
 
   56     virtual void setMultiplexer(IKaaDataMultiplexer *multiplexer);
 
   57     virtual void setDemultiplexer(IKaaDataDemultiplexer *demultiplexer);
 
   60     virtual TransportProtocolId getTransportProtocolId()
 const {
 
   67     typedef std::shared_ptr<IPTransportInfo> IPTransportInfoPtr;
 
   69     HttpDataProcessor* getHttpDataProcessor() { 
return &httpDataProcessor_; }
 
   70     virtual void processTypes(
const std::map<TransportType, ChannelDirection>& types
 
   76     virtual std::string getURLSuffix() = 0;
 
   79     virtual std::shared_ptr<IHttpRequest> createRequest(IPTransportInfoPtr server, 
const std::vector<std::uint8_t>& body) = 0;
 
   80     virtual std::string retrieveResponse(
const IHttpResponse& response) = 0;
 
   85     bool lastConnectionFailed_;
 
   87     IKaaDataMultiplexer *multiplexer_;
 
   88     IKaaDataDemultiplexer *demultiplexer_;
 
   89     IKaaChannelManager *channelManager_;
 
   90     IPTransportInfoPtr currentServer_;
 
   91     HttpDataProcessor httpDataProcessor_;
 
   92     HttpClient httpClient_;
 
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
 
static const TransportProtocolId HTTP_TRANSPORT_ID
 
#define KAA_MUTEX_DECLARE(name)
 
std::shared_ptr< ITransportConnectionInfo > ITransportConnectionInfoPtr