10 #ifndef CORAL_BUS_SP_INFO_CLIENT_HPP 11 #define CORAL_BUS_SP_INFO_CLIENT_HPP 18 #include <system_error> 20 #include "coral/config.h" 126 virtual int GetSlaveTypeCount()
const CORAL_NOEXCEPT = 0;
156 #endif // header guard
void InstantiateSlave(const std::string &slaveTypeUUID, std::chrono::milliseconds instantiationTimeout, InstantiateSlaveHandler onComplete, std::chrono::milliseconds requestTimeout=std::chrono::milliseconds(0))
Requests the instantiation of a slave.
std::function< void(const std::error_code &error, const coral::model::SlaveTypeDescription *slaveTypes, std::size_t slaveTypeCount)> GetSlaveTypesHandler
Completion handler type for GetSlaveTypes().
Definition: slave_provider_comm.hpp:70
Contains the coral::net::Reactor class and related functionality.
Main module header for coral::net.
void GetSlaveTypes(GetSlaveTypesHandler onComplete, std::chrono::milliseconds timeout)
Requests a list of slave types provided.
An interface for the services offered by a slave provider, for use with MakeSlaveProviderServer().
Definition: slave_provider_comm.hpp:122
SlaveProviderClient(coral::net::Reactor &reactor, const coral::net::ip::Endpoint &endpoint)
Constructor.
A description of a slave type.
Definition: model.hpp:148
An object which identifies an endpoint for Internet communication as a combination of an address and ...
Definition: net.hpp:209
Definition: variable_io.hpp:28
void MakeSlaveProviderServer(coral::net::reqrep::Server &server, std::shared_ptr< SlaveProviderOps > slaveProvider)
Creates a server to be used by slave providers to handle incoming requests from a SlaveProviderClient...
Module header for coral::net::reqrep.
~SlaveProviderClient() CORAL_NOEXCEPT
Destructor.
A class for communicating with a single slave provider.
Definition: slave_provider_comm.hpp:36
A generic server class for simple request-reply protocols.
Definition: reqrep.hpp:325
An implementation of the reactor pattern.
Definition: reactor.hpp:41
Class which represents the network location(s) of a slave.
Definition: net.hpp:292
Main module header for coral::model.
std::function< void(const std::error_code &ec, const coral::net::SlaveLocator &slaveLocator, const std::string &errorMessage)> InstantiateSlaveHandler
Completion handler type for InstantiateSlave().
Definition: slave_provider_comm.hpp:90