9 #ifndef anna_comm_Host_hpp 10 #define anna_comm_Host_hpp 30 class TransportFactory;
33 class ServerAllocator;
56 static int value(
const Server* server) ;
82 const std::string&
getName()
const {
return a_name; }
98 Server*
createServer(
const char* name,
const int remotePort,
const bool autoRecovery,
TransportFactory* transportFactory = NULL,
const bool ignoreIncomingMessages =
false,
const bool doConnect =
true)
100 return createServer(std::string(name), remotePort, autoRecovery, transportFactory, ignoreIncomingMessages, doConnect);
117 Server* createServer(
const std::string& name,
const int remotePort,
const bool autoRecovery,
TransportFactory* transportFactory = NULL,
const bool ignoreIncomingMessages =
false,
const bool doConnect =
true)
139 const_server_iterator
server_begin()
const {
return a_servers.begin(); }
151 const_server_iterator
server_end()
const {
return a_servers.end(); }
159 static Server*
server(server_iterator ii) {
return server_container::data(ii); }
167 static const Server*
server(const_server_iterator ii) {
return server_container::data(ii); }
174 const_device_iterator
device_begin()
const {
return a_devices.begin(); }
180 const_device_iterator
device_end()
const {
return a_devices.end(); }
201 const Server* find_server(
const int remotePort)
const ;
214 Server* find_server(
const int remotePort) ;
219 void assign(
const Device* device) noexcept(
false);
231 const_device_iterator end = device_end();
232 return (std::find(device_begin(), end, device) != end);
239 std::string asString()
const ;
256 Host(
const char* name) : a_name(name) {}
259 device_container a_devices;
260 server_container a_servers;
262 Server* add(
Server*,
const int remotePort,
const bool doConnect) ;
const_device_iterator device_begin() const
Definition: Host.hpp:174
server_container::const_iterator const_server_iterator
Definition: Host.hpp:69
Definition: Server.hpp:53
device_container::const_iterator const_device_iterator
Definition: Host.hpp:64
Definition: ServerAllocator.hpp:29
server_container::iterator server_iterator
Definition: Host.hpp:68
Definition: Device.hpp:37
const_device_iterator device_end() const
Definition: Host.hpp:180
server_iterator server_begin()
Definition: Host.hpp:133
Host(const char *name)
Definition: Host.hpp:256
Definition: Network.hpp:37
static const Device * device(const_device_iterator ii)
Definition: Host.hpp:188
server_iterator server_end()
Definition: Host.hpp:145
static Server * server(server_iterator ii)
Definition: Host.hpp:159
Server * createServer(const char *name, const int remotePort, const bool autoRecovery, TransportFactory *transportFactory=NULL, const bool ignoreIncomingMessages=false, const bool doConnect=true) noexcept(false)
Definition: Host.hpp:98
const_server_iterator server_begin() const
Definition: Host.hpp:139
container::const_iterator const_iterator
Definition: MultiMap.hpp:50
std::vector< const Device * > device_container
Definition: Host.hpp:63
const std::string & getName() const
Definition: Host.hpp:82
xml::Node Node
Definition: Node.hpp:21
bool contains(const Device *device) const
Definition: Host.hpp:229
const_server_iterator server_end() const
Definition: Host.hpp:151
MultiMap< Server, SortBy > server_container
Definition: Host.hpp:66
container::iterator iterator
Definition: MultiMap.hpp:49
Definition: TransportFactory.hpp:30
static const Server * server(const_server_iterator ii)
Definition: Host.hpp:167