8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Commons/Net/Url.hpp"
10#include "Arp/Base/Commons/Security/SecurityToken.hpp"
11#include "Arp/Base/Rsc/Commons/Rsc.hpp"
12#include "Arp/Base/Rsc/Commons/Services/RscReader.hpp"
13#include "Arp/Base/Rsc/Commons/Services/RscWriter.hpp"
15namespace Arp::Base::Rsc::Commons::Services
25class ARP_EXPORT RscClient
31 class TransactionGuard;
34 RscClient(
const String& ipcAppName);
38 RscClient(
const RscClient& arg) =
delete;
45 bool IsIpc(
void)
const;
55 void Close(
bool disconnectRemoting =
true);
57 RscHandle GetServiceProviderHandle(
const char* serviceProviderName);
58 RscHandle GetServiceHandle(RscHandle serviceProviderHandle,
const char* serviceName);
59 RscHandle GetServiceHandle(
const char* serviceProviderName,
const char* serviceName);
60 void GetServiceHandles(
const char* serviceProviderName,
const char* serviceName, RscHandle& serviceProviderHandle, RscHandle& serviceHandle);
64 const Impl& GetImpl(
void)
const;
This class implements represents a Uniform Resource Locator.
Definition: Url.hpp:25
static Url GetEmpty(void)
Returns an empty Url.
Definition: Url.cpp:84
This class is used for authorization of arbitrary operations.
Definition: SecurityToken.hpp:18
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class monitors a RSC client call using RAII idiom.
Definition: RscClient.TransactionGuard.hpp:18
RscClient(RscClient &&arg) noexcept
The default move constructor.
~RscClient(void)
The default destructor.
RscClient & operator=(RscClient &&arg) noexcept
The default move-assignment operator.
Reads marshaled data of RSC services.
Definition: RscReader.hpp:34
Writes marshalled data of RSC services.
Definition: RscWriter.hpp:34
@ IsConnected
A connect request was made on an already connected socket.
@ Connect
Connect operation should be polled.