6#include "IncomingRequest.h"
8#include "OutgoingResponse.h"
26 virtual ~
Object() = default;
54 [[nodiscard]] virtual
bool ice_isA(std::
string typeId, const
Current& current) const;
69 [[nodiscard]] virtual std::vector<std::
string>
ice_ids(const
Current& current) const;
101 ice_invoke(std::vector<std::byte> inEncaps, std::vector<std::byte>& outEncaps,
const Current& current) = 0;
116 std::pair<const std::byte*, const std::byte*> inEncaps,
117 std::vector<std::byte>& outEncaps,
140 std::vector<std::byte> inEncaps,
141 std::function<
void(
bool,
const std::vector<std::byte>&)> response,
142 std::function<
void(std::exception_ptr)> exception,
158 std::pair<const std::byte*, const std::byte*> inEncaps,
159 std::function<
void(
bool, std::pair<const std::byte*, const std::byte*>)> response,
160 std::function<
void(std::exception_ptr)> exception,
virtual void ice_invokeAsync(std::pair< const std::byte *, const std::byte * > inEncaps, std::function< void(bool, std::pair< const std::byte *, const std::byte * >)> response, std::function< void(std::exception_ptr)> exception, const Current ¤t)=0
Dispatches an incoming request asynchronously.
Base class for asynchronous dynamic dispatch servants that uses the array mapping.
virtual bool ice_invoke(std::pair< const std::byte *, const std::byte * > inEncaps, std::vector< std::byte > &outEncaps, const Current ¤t)=0
Dispatches an incoming request.
Base class for dynamic dispatch servants that uses the array mapping.
virtual void ice_invokeAsync(std::vector< std::byte > inEncaps, std::function< void(bool, const std::vector< std::byte > &)> response, std::function< void(std::exception_ptr)> exception, const Current ¤t)=0
Dispatches an incoming request asynchronously.
Base class for asynchronous dynamic dispatch servants.
virtual bool ice_invoke(std::vector< std::byte > inEncaps, std::vector< std::byte > &outEncaps, const Current ¤t)=0
Dispatches an incoming request.
Base class for dynamic dispatch servants.
Represents a request received by a connection.
virtual std::string ice_id(const Current ¤t) const
Gets the type ID of the most-derived Slice interface supported by this object.
Object() noexcept=default
Default constructor.
virtual void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse)
Dispatches an incoming request and returns the corresponding outgoing response.
virtual std::vector< std::string > ice_ids(const Current ¤t) const
Gets the Slice interfaces supported by this object as a list of type IDs.
virtual bool ice_isA(std::string typeId, const Current ¤t) const
Tests whether this object supports a specific Slice interface.
virtual void ice_ping(const Current ¤t) const
Tests whether this object can be reached.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
Represents the response to an incoming request.
Provides information about an incoming request being dispatched.