20 #ifndef INCLUDE_RCF_RCFFWD_HPP 21 #define INCLUDE_RCF_RCFFWD_HPP 34 class ClientTransport;
35 class ServerTransport;
38 typedef std::shared_ptr<I_RcfClient> RcfClientPtr;
39 typedef std::shared_ptr<RcfSession> RcfSessionPtr;
40 typedef std::weak_ptr<RcfSession> RcfSessionWeakPtr;
49 typedef std::shared_ptr<Exception> ExceptionPtr;
51 template<
typename T>
class RcfClient;
52 class I_RequestSubscription;
56 typedef std::shared_ptr<PublisherBase> PublisherPtr;
57 typedef std::weak_ptr<PublisherBase> PublisherWeakPtr;
59 class PublishingService;
61 class SubscriptionService;
64 typedef std::shared_ptr<Subscription> SubscriptionPtr;
65 typedef std::weak_ptr<Subscription> SubscriptionWeakPtr;
67 typedef std::shared_ptr<Subscription> SubscriptionPtr;
68 typedef std::weak_ptr<Subscription> SubscriptionWeakPtr;
96 class ConnectionResetGuard;
100 class ClientProgress;
104 class OpenSslEncryptionFilter;
119 typedef std::shared_ptr<Filter> FilterPtr;
120 typedef std::shared_ptr<ClientStub> ClientStubPtr;
121 typedef std::shared_ptr<ClientProgress> ClientProgressPtr;
122 typedef std::shared_ptr<OverlappedAmi> OverlappedAmiPtr;
166 class AllocateClientParameters;
185 class ClientParameters;
189 class PingBackService;
190 class FileTransferService;
192 class SessionTimeoutService;
193 class PublishingService;
194 class CallbackConnectionService;
195 class ServerObjectService;
196 class ProxyEndpointService;
198 typedef std::shared_ptr<I_Service> ServicePtr;
199 typedef std::shared_ptr<PingBackService> PingBackServicePtr;
200 typedef std::shared_ptr<FileTransferService> FileTransferServicePtr;
201 typedef std::shared_ptr<FilterService> FilterServicePtr;
202 typedef std::shared_ptr<SessionTimeoutService> SessionTimeoutServicePtr;
203 typedef std::shared_ptr<PublishingService> PublishingServicePtr;
204 typedef std::shared_ptr<SubscriptionService> SubscriptionServicePtr;
205 typedef std::shared_ptr<CallbackConnectionService> CallbackConnectionServicePtr;
206 typedef std::shared_ptr<ServerObjectService> ServerObjectServicePtr;
207 typedef std::shared_ptr<ProxyEndpointService> ProxyEndpointServicePtr;
209 template<
typename Interface>
215 typedef std::shared_ptr<BandwidthQuota> BandwidthQuotaPtr;
220 class JsonRpcRequest;
221 class JsonRpcResponse;
224 typedef std::shared_ptr<HttpSession> HttpSessionPtr;
228 typedef std::function<void(RcfSessionPtr, ClientTransportUniquePtr)> OnCallbackConnectionCreated;
230 typedef RcfSessionPtr SessionPtr;
235 enum CertificateImplementationType;
239 class I_CreateCallbackConnection;
241 typedef std::shared_ptr<ClientTransport> ClientTransportPtr;
243 typedef std::shared_ptr< ClientTransportUniquePtr > ClientTransportUniquePtrPtr;
245 typedef std::unique_ptr<ServerTransport> ServerTransportUniquePtr;
252 class MethodInvocationRequest;
254 class NetworkSession;
263 typedef std::shared_ptr<X509Certificate> X509CertificatePtr;
265 class UdpServerTransport;
266 class UdpNetworkSession;
268 class FileStreamImpl;
270 typedef std::shared_ptr<FileUploadInfo> FileUploadInfoPtr;
271 typedef std::shared_ptr<FileDownloadInfo> FileDownloadInfoPtr;
273 typedef std::pair<std::uint32_t, RcfSessionWeakPtr> PingBackTimerEntry;
281 class AsioNetworkSession;
300 class AllocateServerParameters;
319 class ServerParameters;
324 typedef std::shared_ptr<ServerBinding> ServerBindingPtr;
330 typedef std::vector< std::pair< std::string, std::string > > HttpHeaderList;
333 typedef std::function<void(const std::string & statusLine, const HttpHeaderList& headerList)>
HttpRedirectHandler;
342 #endif // ! INCLUDE_RCF_RCFFWD_HPP Describes the network address of a remote peer.
Definition: ServerTransport.hpp:36
Contains details about the currently executing remote call.
Definition: MethodInvocation.hpp:62
std::function< BandwidthQuotaPtr(RcfSession &)> BandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:140
std::function< void(RcfSession &, FileDownloadInfo &)> DownloadProgressCallback
Describes user-provided callback functions for server-side monitoring of a file download.
Definition: RcfFwd.hpp:134
Represents the binding of a server-side servant object to a RCF interface.
Definition: ServerStub.hpp:325
Describes the status of a remote call while in progress. See RCF::ClientStub::setRemoteCallProgressCa...
Definition: ClientProgress.hpp:31
std::function< void(const RemoteCallProgressInfo &, RemoteCallAction &)> RemoteCallProgressCallback
Describes a user-provided callback function to be called periodically on the client side...
Definition: RcfFwd.hpp:83
std::shared_ptr< BandwidthQuota > BandwidthQuotaPtr
Reference counted wrapper for RCF::BandwidthQuota.
Definition: RcfFwd.hpp:127
Controls the client side of a RCF connection.
Definition: ClientStub.hpp:82
std::shared_ptr< Endpoint > EndpointPtr
Reference counted wrapper for RCF::Endpoint.
Definition: RcfFwd.hpp:117
std::shared_ptr< Certificate > CertificatePtr
Reference counted wrapper for RCF::Certificate.
Definition: RcfFwd.hpp:108
std::unique_ptr< ClientTransport > ClientTransportUniquePtr
Unique pointer wrapper for RCF::ClientTransport.
Definition: RcfFwd.hpp:43
std::shared_ptr< Win32Certificate > Win32CertificatePtr
Reference counted wrapper for RCF::Win32Certificate.
Definition: RcfFwd.hpp:257
Server-side information about a file download taking place from a RcfServer.
Definition: FileTransferService.hpp:97
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:74
BandwidthQuotaCallback DownloadBandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:146
std::function< bool(Certificate *)> CertificateValidationCallback
Describes user-provided callback functions for validating a certificate.
Definition: RcfFwd.hpp:114
Provides the ability for remote calls to be executed asynchronously.
Definition: Future.hpp:50
Base class for all RCF exceptions.
Definition: Exception.hpp:67
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:131
std::shared_ptr< HttpMessageVerifier > HttpMessageVerifierPtr
Reference counted wrapper for RCF::HttpMessageVerifier.
Definition: HttpFrameFilter.hpp:60
BandwidthQuotaCallback UploadBandwidthQuotaCallback
Describes user-provided callback functions for assigning custom bandwidth quotas to a RcfSession...
Definition: RcfFwd.hpp:143
std::function< bool(int)> AccessControlCallback
Describes a user-provided function for determining whether a client connections should be able to acc...
Definition: RcfFwd.hpp:327
SslImplementation
Describes which SSL implementation to use.
Definition: Enums.hpp:84
Represents an in-memory certificate, either from a remote peer or loaded from a local certificate sto...
Definition: Win32Certificate.hpp:37
Utility class used by RCF to determine whether a remote call should be performed synchronously or asy...
Definition: Future.hpp:34
std::shared_ptr< ServerBinding > ServerBindingPtr
Reference counted wrapper for RCF::ServerBinding.
Definition: RcfFwd.hpp:248
Describes a unit of bandwidth, to be used by downloads or uploads, for a single connection or a group...
Definition: FileStream.hpp:336
Base class for IP-based client transports. Provides IP-related functionality.
Definition: IpClientTransport.hpp:27
std::function< void(RcfSession &, FileUploadInfo &)> UploadProgressCallback
Describes user-provided callback functions for server-side monitoring of a file upload.
Definition: RcfFwd.hpp:137
Represents an in-memory certificate, usually from a remote peer. Only applicable to OpenSSL...
Definition: OpenSslEncryptionFilter.hpp:72
std::function< void(RcfSession &)> OnSubscriptionDisconnect
Describes a user-provided callback function to be called on the subscriber side, whenever a subscribe...
Definition: RcfFwd.hpp:77
Represents a single publisher within a RcfServer. To create a publisher, use RcfServer::createPublish...
Definition: PublishingService.hpp:97
Represents an HTTP cookie, with a name and value.
Definition: ClientStub.hpp:59
Base class for IP-based server transports. Provides IP-related functionality.
Definition: IpServerTransport.hpp:36
Definition: ByteBuffer.hpp:39
HTTP message verification mechanism, to allow applications to verify HTTP message payloads using cust...
Definition: HttpFrameFilter.hpp:49
TransportProtocol
Describes the transport protocols used by a RCF connection. Transport protocols are layered on top of...
Definition: Enums.hpp:62
General configuration of a subscription.
Definition: SubscriptionService.hpp:95
Definition: AmiIoHandler.hpp:23
TransportType
Describes the transport types used by a RCF connection.
Definition: Enums.hpp:33
Server-side information about a file upload taking place to a RcfServer.
Definition: FileTransferService.hpp:65
Base class for all RCF certificate classes.
Definition: Certificate.hpp:29
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:71
std::shared_ptr< ServerTransport > ServerTransportPtr
Unique pointer wrapper for RCF::ServerTransport.
Definition: RcfFwd.hpp:46
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:333
Describes progress of a file download or upload.
Definition: FileStream.hpp:265
Base class of all publishers.
Definition: PublishingService.hpp:64
RemoteCallAction
Describes whether a remote call should continue or be canceled.
Definition: Enums.hpp:195
Represents a subscription to a RCF publisher. To create a subscription, use RcfServer::createSubscrip...
Definition: SubscriptionService.hpp:39
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:80