17 #ifndef DEFAULTOPERATIONLONGPOLLCHANNEL_HPP_ 
   18 #define DEFAULTOPERATIONLONGPOLLCHANNEL_HPP_ 
   22 #ifdef KAA_DEFAULT_LONG_POLL_CHANNEL 
   27 #include <boost/asio.hpp> 
   38 class DefaultOperationLongPollChannel : 
public IDataChannel {
 
   40     DefaultOperationLongPollChannel(IKaaChannelManager *channelManager, 
const KeyPair& clientKeys);
 
   41     virtual ~DefaultOperationLongPollChannel();
 
   44     virtual void syncAll();
 
   46     virtual const std::string& getId()
 const { 
return CHANNEL_ID; }
 
   47     virtual ChannelType getChannelType()
 const { 
return ChannelType::HTTP_LP; }
 
   50     virtual void setMultiplexer(IKaaDataMultiplexer *multiplexer);
 
   51     virtual void setDemultiplexer(IKaaDataDemultiplexer *demultiplexer);
 
   54     virtual const std::map<TransportType, ChannelDirection>& getSupportedTransportTypes()
 const { 
return SUPPORTED_TYPES; }
 
   56     virtual void shutdown();
 
   58     virtual void resume();
 
   70     static const std::string CHANNEL_ID;
 
   71     static const std::map<TransportType, ChannelDirection> SUPPORTED_TYPES;
 
   75     boost::asio::io_service io_;
 
   76     boost::asio::io_service::work work_;
 
   77     std::thread pollThread_;
 
   81     bool connectionInProgress_;
 
   84     IKaaDataMultiplexer *multiplexer_;
 
   85     IKaaDataDemultiplexer *demultiplexer_;
 
   86     IKaaChannelManager *channelManager_;
 
   88     HttpDataProcessor httpDataProcessor_;
 
   89     HttpClient httpClient_;
 
std::pair< Botan::MemoryVector< std::uint8_t >, std::string > KeyPair
 
std::shared_ptr< IConnectivityChecker > ConnectivityCheckerPtr
 
std::shared_ptr< HttpLPServerInfo > OperationServerLongPollInfoPtr
 
std::shared_ptr< IServerInfo > IServerInfoPtr
 
#define KAA_MUTEX_DECLARE(name)
 
#define KAA_CONDITION_VARIABLE_DECLARE(name)