12#include "LocatorRegistry.h"
14#ifndef ICE_DISABLE_VERSION
15# if ICE_INT_VERSION / 100 != 308
16# error Ice version mismatch!
18# if ICE_INT_VERSION % 100 >= 50
19# error Beta header file detected
21# if ICE_INT_VERSION % 100 < 0
22# error Ice patch level mismatch!
55 ~ProcessPrx()
override;
99 void _iceI_shutdown(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&,
const Ice::Context&)
const;
123 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;
126 void _iceI_writeMessage(
const std::shared_ptr<IceInternal::OutgoingAsyncT<void>>&, std::string_view, std::int32_t,
const Ice::Context&)
const;
133 static
ProcessPrx _fromReference(IceInternal::ReferencePtr ref) {
return ProcessPrx{std::move(ref)}; }
152 class ICE_API Process :
public virtual Ice::Object
156 using ProxyType = ProcessPrx;
161 void dispatch(IncomingRequest& request, std::function<
void(OutgoingResponse)> sendResponse)
override;
163 [[nodiscard]] std::vector<std::string> ice_ids(
const Ice::Current& current)
const override;
165 [[nodiscard]] std::string ice_id(
const Ice::Current& current)
const override;
169 virtual void shutdown(
const Ice::Current& current) = 0;
172 void _iceD_shutdown(Ice::IncomingRequest&, std::function<
void(Ice::OutgoingResponse)>);
178 virtual void writeMessage(std::string message, std::int32_t fd,
const Ice::Current& current) = 0;
181 void _iceD_writeMessage(Ice::IncomingRequest&, std::function<
void(Ice::OutgoingResponse)>);
185 static const char* ice_staticId() noexcept;
217 virtual void shutdownAsync(std::function<
void()> response, std::function<
void(std::exception_ptr)> exception,
const Ice::Current& current) = 0;
228 virtual void writeMessageAsync(std::string message, std::int32_t fd, std::function<
void()> response, std::function<
void(std::exception_ptr)> exception,
const Ice::Current& current) = 0;
244#include <Ice/PopDisableWarnings.h>
std::string ice_id(const Ice::Current ¤t) const override
Gets the type ID of the most-derived Slice interface supported by this object.
virtual void writeMessageAsync(std::string message, std::int32_t fd, std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current ¤t)=0
Writes a message on the server application's stdout or stderr.
virtual void shutdownAsync(std::function< void()> response, std::function< void(std::exception_ptr)> exception, const Ice::Current ¤t)=0
Initiates a graceful shutdown of the server application.
ProcessPrx ProxyType
The associated proxy type.
void dispatch(IncomingRequest &request, std::function< void(OutgoingResponse)> sendResponse) override
Dispatches an incoming request to one of the member functions of this generated class,...
static const char * ice_staticId() noexcept
Gets the type ID of the associated Slice interface.
std::vector< std::string > ice_ids(const Ice::Current ¤t) const override
Gets the Slice interfaces supported by this object as a list of Slice type IDs.
A server application managed by a locator implementation such as IceGrid hosts a Process object and r...
Represents a request received by a connection.
ObjectPrx & operator=(const ObjectPrx &rhs) noexcept=default
Copy assignment operator.
The base class for all Ice proxies.
The base class for servants.
Represents the response to an incoming request.
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::shared_ptr< AsyncProcess > AsyncProcessPtr
A shared pointer to an AsyncProcess.
std::map< std::string, std::string, std::less<> > Context
Represents additional information carried by an Ice request.
Provides information about an incoming request being dispatched.