21 #ifndef INCLUDE_RCF_RCFFWD_HPP 22 #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;
226 typedef std::function<void(RcfSessionPtr, ClientTransportUniquePtr)> OnCallbackConnectionCreated;
228 typedef RcfSessionPtr SessionPtr;
233 enum CertificateImplementationType;
237 class I_CreateCallbackConnection;
239 typedef std::shared_ptr<ClientTransport> ClientTransportPtr;
241 typedef std::shared_ptr< ClientTransportUniquePtr > ClientTransportUniquePtrPtr;
243 typedef std::unique_ptr<ServerTransport> ServerTransportUniquePtr;
250 class MethodInvocationRequest;
252 class NetworkSession;
261 typedef std::shared_ptr<X509Certificate> X509CertificatePtr;
263 class UdpServerTransport;
264 class UdpNetworkSession;
266 class FileStreamImpl;
268 typedef std::shared_ptr<FileUploadInfo> FileUploadInfoPtr;
269 typedef std::shared_ptr<FileDownloadInfo> FileDownloadInfoPtr;
271 typedef std::pair<std::uint32_t, RcfSessionWeakPtr> PingBackTimerEntry;
279 class AsioNetworkSession;
298 class AllocateServerParameters;
317 class ServerParameters;
322 typedef std::shared_ptr<ServerBinding> ServerBindingPtr;
329 #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: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: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: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:69
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::function< void(const FileTransferProgress &)> FileProgressCallback
Describes user-provided callback functions for client-side monitoring of a file transfer (download or...
Definition: RcfFwd.hpp:131
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:255
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: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:51
Base class for all RCF exceptions.
Definition: Exception.hpp:64
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 user-provided function for determining whether a client connections should be able to acces...
Definition: RcfFwd.hpp:325
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:246
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:137
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:77
Represents a single publisher within a RcfServer. To create a publisher, use RcfServer::createPublish...
Definition: PublishingService.hpp:94
Base class for IP-based server transports. Provides IP-related functionality.
Definition: IpServerTransport.hpp:37
Definition: ByteBuffer.hpp:40
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:71
std::shared_ptr< ServerTransport > ServerTransportPtr
Unique pointer wrapper for RCF::ServerTransport.
Definition: RcfFwd.hpp:46
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:80