21 #ifndef INCLUDE_RCF_RCFFWD_HPP 22 #define INCLUDE_RCF_RCFFWD_HPP 35 class ClientTransport;
36 class ServerTransport;
39 typedef std::shared_ptr<I_RcfClient> RcfClientPtr;
40 typedef std::shared_ptr<RcfSession> RcfSessionPtr;
41 typedef std::weak_ptr<RcfSession> RcfSessionWeakPtr;
50 typedef std::shared_ptr<Exception> ExceptionPtr;
52 template<
typename T>
class RcfClient;
53 class I_RequestSubscription;
57 typedef std::shared_ptr<PublisherBase> PublisherPtr;
58 typedef std::weak_ptr<PublisherBase> PublisherWeakPtr;
60 class PublishingService;
62 class SubscriptionService;
65 typedef std::shared_ptr<Subscription> SubscriptionPtr;
66 typedef std::weak_ptr<Subscription> SubscriptionWeakPtr;
68 typedef std::shared_ptr<Subscription> SubscriptionPtr;
69 typedef std::weak_ptr<Subscription> SubscriptionWeakPtr;
97 class ConnectionResetGuard;
101 class ClientProgress;
105 class OpenSslEncryptionFilter;
120 typedef std::shared_ptr<Filter> FilterPtr;
121 typedef std::shared_ptr<ClientStub> ClientStubPtr;
122 typedef std::shared_ptr<ClientProgress> ClientProgressPtr;
123 typedef std::shared_ptr<OverlappedAmi> OverlappedAmiPtr;
167 class AllocateClientParameters;
186 class ClientParameters;
190 class PingBackService;
191 class FileTransferService;
193 class SessionTimeoutService;
194 class PublishingService;
195 class CallbackConnectionService;
196 class ServerObjectService;
197 class ProxyEndpointService;
199 typedef std::shared_ptr<I_Service> ServicePtr;
200 typedef std::shared_ptr<PingBackService> PingBackServicePtr;
201 typedef std::shared_ptr<FileTransferService> FileTransferServicePtr;
202 typedef std::shared_ptr<FilterService> FilterServicePtr;
203 typedef std::shared_ptr<SessionTimeoutService> SessionTimeoutServicePtr;
204 typedef std::shared_ptr<PublishingService> PublishingServicePtr;
205 typedef std::shared_ptr<SubscriptionService> SubscriptionServicePtr;
206 typedef std::shared_ptr<CallbackConnectionService> CallbackConnectionServicePtr;
207 typedef std::shared_ptr<ServerObjectService> ServerObjectServicePtr;
208 typedef std::shared_ptr<ProxyEndpointService> ProxyEndpointServicePtr;
210 template<
typename Interface>
216 typedef std::shared_ptr<BandwidthQuota> BandwidthQuotaPtr;
221 class JsonRpcRequest;
222 class JsonRpcResponse;
225 typedef std::shared_ptr<HttpSession> HttpSessionPtr;
229 typedef std::function<void(RcfSessionPtr, ClientTransportUniquePtr)> OnCallbackConnectionCreated;
231 typedef RcfSessionPtr SessionPtr;
236 enum CertificateImplementationType;
240 class I_CreateCallbackConnection;
242 typedef std::shared_ptr<ClientTransport> ClientTransportPtr;
244 typedef std::shared_ptr< ClientTransportUniquePtr > ClientTransportUniquePtrPtr;
246 typedef std::unique_ptr<ServerTransport> ServerTransportUniquePtr;
253 class MethodInvocationRequest;
255 class NetworkSession;
264 typedef std::shared_ptr<X509Certificate> X509CertificatePtr;
266 class UdpServerTransport;
267 class UdpNetworkSession;
269 class FileStreamImpl;
271 typedef std::shared_ptr<FileUploadInfo> FileUploadInfoPtr;
272 typedef std::shared_ptr<FileDownloadInfo> FileDownloadInfoPtr;
274 typedef std::pair<std::uint32_t, RcfSessionWeakPtr> PingBackTimerEntry;
282 class AsioNetworkSession;
301 class AllocateServerParameters;
320 class ServerParameters;
325 typedef std::shared_ptr<ServerBinding> ServerBindingPtr;
331 typedef std::vector< std::pair< std::string, std::string > > HttpHeaderList;
334 typedef std::function<void(const std::string & statusLine, const HttpHeaderList& headerList)>
HttpRedirectHandler;
343 #endif // ! INCLUDE_RCF_RCFFWD_HPP Describes the network address of a remote peer.
Definition: ServerTransport.hpp:37
Contains details about the currently executing remote call.
Definition: MethodInvocation.hpp:63
std::function< BandwidthQuotaPtr(RcfSession &)> BandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:141
std::function< void(RcfSession &, FileDownloadInfo &)> DownloadProgressCallback
Describes user-provided callback functions for server-side monitoring of a file download.
Definition: RcfFwd.hpp:135
Represents the binding of a server-side servant object to a RCF interface.
Definition: ServerStub.hpp:326
Describes the status of a remote call while in progress. See RCF::ClientStub::setRemoteCallProgressCa...
Definition: ClientProgress.hpp:32
std::function< void(const RemoteCallProgressInfo &, RemoteCallAction &)> RemoteCallProgressCallback
Describes a user-provided callback function to be called periodically on the client side...
Definition: RcfFwd.hpp:84
std::shared_ptr< BandwidthQuota > BandwidthQuotaPtr
Reference counted wrapper for RCF::BandwidthQuota.
Definition: RcfFwd.hpp:128
Controls the client side of a RCF connection.
Definition: ClientStub.hpp:83
std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:118
std::shared_ptr< Certificate > CertificatePtr
Reference counted wrapper for RCF::Certificate.
Definition: RcfFwd.hpp:109
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:44
std::shared_ptr< Win32Certificate > Win32CertificatePtr
Reference counted wrapper for RCF::Win32Certificate.
Definition: RcfFwd.hpp:258
Server-side information about a file download taking place from a RcfServer.
Definition: FileTransferService.hpp:98
std::function< void(RcfSession &, const std::string &)> OnSubscriberDisconnect
Describes a user-provided callback function to be called on the publisher side, whenever a subscriber...
Definition: RcfFwd.hpp:75
BandwidthQuotaCallback DownloadBandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:147
std::function< bool(Certificate *)> CertificateValidationCallback
Describes user-provided callback functions for validating a certificate.
Definition: RcfFwd.hpp:115
Provides the ability for remote calls to be executed asynchronously.
Definition: Future.hpp:51
Base class for all RCF exceptions.
Definition: Exception.hpp:64
std::function< void(const FileTransferProgress &, RemoteCallAction &)> FileProgressCallback
Describes user-provided callback functions for client-side monitoring of a file transfer (download or...
Definition: RcfFwd.hpp:132
std::shared_ptr< HttpMessageVerifier > HttpMessageVerifierPtr
Reference counted wrapper for RCF::HttpMessageVerifier.
Definition: HttpFrameFilter.hpp:61
BandwidthQuotaCallback UploadBandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:144
std::function< bool(int)> AccessControlCallback
Describes a user-provided function for determining whether a client connections should be able to acc...
Definition: RcfFwd.hpp:328
SslImplementation
Describes which SSL implementation to use.
Definition: Enums.hpp:85
Represents an in-memory certificate, either from a remote peer or loaded from a local certificate sto...
Definition: Win32Certificate.hpp:38
Utility class used by RCF to determine whether a remote call should be performed synchronously or asy...
Definition: Future.hpp:35
std::shared_ptr< ServerBinding > ServerBindingPtr
Reference counted wrapper for RCF::ServerBinding.
Definition: RcfFwd.hpp:249
Describes a unit of bandwidth, to be used by downloads or uploads, for a single connection or a group...
Definition: FileStream.hpp:337
Base class for IP-based client transports. Provides IP-related functionality.
Definition: IpClientTransport.hpp:28
std::function< void(RcfSession &, FileUploadInfo &)> UploadProgressCallback
Describes user-provided callback functions for server-side monitoring of a file upload.
Definition: RcfFwd.hpp:138
Represents an in-memory certificate, usually from a remote peer. Only applicable to OpenSSL...
Definition: OpenSslEncryptionFilter.hpp:73
std::function< void(RcfSession &)> OnSubscriptionDisconnect
Describes a user-provided callback function to be called on the subscriber side, whenever a subscribe...
Definition: RcfFwd.hpp:78
Represents a single publisher within a RcfServer. To create a publisher, use RcfServer::createPublish...
Definition: PublishingService.hpp:94
Represents an HTTP cookie, with a name and value.
Definition: ClientStub.hpp:60
Base class for IP-based server transports. Provides IP-related functionality.
Definition: IpServerTransport.hpp:37
Definition: ByteBuffer.hpp:40
HTTP message verification mechanism, to allow applications to verify HTTP message payloads using cust...
Definition: HttpFrameFilter.hpp:50
TransportProtocol
Describes the transport protocols used by a RCF connection. Transport protocols are layered on top of...
Definition: Enums.hpp:63
General configuration of a subscription.
Definition: SubscriptionService.hpp:91
Definition: AmiIoHandler.hpp:24
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:34
Server-side information about a file upload taking place to a RcfServer.
Definition: FileTransferService.hpp:66
Base class for all RCF certificate classes.
Definition: Certificate.hpp:30
General configuration of a publisher.
Definition: PublishingService.hpp:38
std::function< bool(RcfSession &, const std::string &)> OnSubscriberConnect
Describes a user-provided callback function to be called on the publisher side, whenever a subscriber...
Definition: RcfFwd.hpp:72
std::shared_ptr< ServerTransport > ServerTransportPtr
Unique pointer wrapper for RCF::ServerTransport.
Definition: RcfFwd.hpp:47
std::function< void(const std::string &statusLine, const HttpHeaderList &headerList)> HttpRedirectHandler
Describes a user-provided function for handling HTTP redirect responses when connecting to a HTTP/HTT...
Definition: RcfFwd.hpp:334
Describes progress of a file download or upload.
Definition: FileStream.hpp:266
Base class of all publishers.
Definition: PublishingService.hpp:64
RemoteCallAction
Describes whether a remote call should continue or be canceled.
Definition: Enums.hpp:196
Represents a subscription to a RCF publisher. To create a subscription, use RcfServer::createSubscrip...
Definition: SubscriptionService.hpp:40
std::function< void(SubscriptionPtr, ExceptionPtr)> OnAsyncSubscribeCompleted
Describes a user-provided callback function to be called on the subscriber side, when an subscription...
Definition: RcfFwd.hpp:81