17 #ifndef BOOTSTRAPMANAGER_HPP_
18 #define BOOTSTRAPMANAGER_HPP_
22 #include "kaa/gen/BootstrapGen.hpp"
24 #include <boost/thread/recursive_mutex.hpp>
43 const OperationsServer* getOPSByDnsName(
const std::string& name);
44 IServerInfoPtr getServerInfoByChannel(
const OperationsServer& server,
const SupportedChannel& channel);
45 IServerInfoPtr getServerInfoByChannelType(
const OperationsServer& server, ChannelType channelType);
46 void notifyChannelManangerAboutServer(
const OperationsServer& server);
48 std::vector<OperationsServer> operationServerList_;
49 std::map<ChannelType, std::vector<OperationsServer> > operationServers_;
50 std::map<ChannelType,
size_t > operationServersIterators_;
55 std::string serverToApply;
56 mutable boost::recursive_mutex guard_;
virtual void setTransport(IBootstrapTransport *transport)
virtual void useNextOperationsServerByDnsName(const std::string &name)
virtual void setChannelManager(IKaaChannelManager *manager)
virtual const std::vector< OperationsServer > & getOperationsServerList()
boost::shared_ptr< IServerInfo > IServerInfoPtr
virtual void useNextOperationsServer(ChannelType type)
virtual void receiveOperationsServerList()
virtual void onServerListUpdated(const OperationsServerList &list)