12#include "LocatorRegistry.h"
14#ifndef ICE_DISABLE_VERSION
15# if ICE_INT_VERSION != 30850
16# error Ice version mismatch: an exact match is required for beta generated code
48 ~ProcessPrx()
override;
92 void _iceI_shutdown(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const Ice::Context&)
const;
116 std::function<void()>
writeMessageAsync(std::string_view message, std::int32_t fd, std::function<
void()> response, std::function<
void(std::exception_ptr)> exception =
nullptr, std::function<
void(
bool)> sent =
nullptr,
const Ice::Context& context =
Ice::noExplicitContext)
const;
119 void _iceI_writeMessage(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::int32_t,
const Ice::Context&)
const;
126 static
ProcessPrx _fromReference(IceInternal::ReferencePtr ref) {
return ProcessPrx{std::move(ref)}; }
144 class ICE_API Process :
public virtual Ice::Object
148 using ProxyType = ProcessPrx;
153 void dispatch(IncomingRequest& request, std::function<
void(OutgoingResponse)> sendResponse)
override;
155 [[nodiscard]] std::vector<std::string> ice_ids(
const Ice::Current& current)
const override;
157 [[nodiscard]] std::string ice_id(
const Ice::Current& current)
const override;
161 virtual void shutdown(
const Ice::Current& current) = 0;
164 void _iceD_shutdown(Ice::IncomingRequest&, std::function<
void(Ice::OutgoingResponse)>);
170 virtual void writeMessage(std::string message, std::int32_t fd,
const Ice::Current& current) = 0;
173 void _iceD_writeMessage(Ice::IncomingRequest&, std::function<
void(Ice::OutgoingResponse)>);
177 static const char* ice_staticId() noexcept;
186#include <Ice/PopDisableWarnings.h>
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
std::future< void > writeMessageAsync(std::string_view message, std::int32_t fd, const Ice::Context &context=Ice::noExplicitContext) const
Writes a message on the server application's stdout or stderr.
std::function< void()> shutdownAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Initiates a graceful shutdown of the server application.
ProcessPrx(const ProcessPrx &other) noexcept
Copy constructor.
ProcessPrx & operator=(ProcessPrx &&rhs) noexcept
Move assignment operator.
std::function< void()> writeMessageAsync(std::string_view message, std::int32_t fd, std::function< void()> response, std::function< void(std::exception_ptr)> exception=nullptr, std::function< void(bool)> sent=nullptr, const Ice::Context &context=Ice::noExplicitContext) const
Writes a message on the server application's stdout or stderr.
void writeMessage(std::string_view message, std::int32_t fd, const Ice::Context &context=Ice::noExplicitContext) const
Writes a message on the server application's stdout or stderr.
ProcessPrx(ProcessPrx &&other) noexcept
Move constructor.
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
void shutdown(const Ice::Context &context=Ice::noExplicitContext) const
Initiates a graceful shutdown of the server application.
ProcessPrx(const Ice::CommunicatorPtr &communicator, std::string_view proxyString)
Constructs a proxy from a Communicator and a proxy string.
ProcessPrx & operator=(const ProcessPrx &rhs) noexcept
Copy assignment operator.
std::future< void > shutdownAsync(const Ice::Context &context=Ice::noExplicitContext) const
Initiates a graceful shutdown of the server application.
A server application managed by a locator implementation such as IceGrid hosts a Process object and r...
Provides typed proxy functions.
std::shared_ptr< Communicator > CommunicatorPtr
A shared pointer to a Communicator.
const Context noExplicitContext
Marker value used to indicate that no explicit request context was passed to a proxy invocation.
std::shared_ptr< Process > ProcessPtr
A shared pointer to a Process.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.