RemObjectsSDK
Classes
Class | Notes |
---|---|
ROAESEncryptionEnvelope | The ROAESEncryptionEnvelope class represents a specific RO Message Envelope that uses the widely-known symetric AES/Rijndael encryption mechanism for encrypting... |
ROArray | ROArray forms the base class for all array types defined in your RODL library. |
ROAsyncProxy | This is asynchronous proxy abstract class. It is used as an ancestor for all asynchronous proxy classes when generating code to support asynchronous calls . |
ROAsyncRequest | ROAsyncRequest objects present an ongoing or completed asynchronous request that is executing after one of the begin* messages is set to an Asynchronous Proxy. The ROAsyncRequest can be used to check the status of the request, assign a delegate (of type ROAsyncRequestDelegate to be informed of progress, success and failures. It also needs to be referenced when sending the end* message to receive any result or outgoing parameters, after the request has completed. |
ROBinHeader | The ROBinHeader class represents headers of Binary messages. |
ROBinHelpers | ROBinHelpers represents helper class that provides methods for correct conversion NSDate to Delphi Date and vise versa, getting ANSI strings from NSData and methods for raising RO-encoding specific exceptions. |
ROBinMessage | Being a descendant of the abstract message class, this class implements the binary messaging protocol for Xcode. |
ROBinReaderWriter | The ROBinReaderWriter class is used to serialize and deserialize any kind of data into the bytes buffer. It provides a lot of symmetrical read/write methods for each datatype, so you can easily write and read any objects to and from NSData. |
ROCertificateInfo | This class is used to describe a server certificate when a HTTP based client channel attempts to establish SSL connection with a server. |
ROChannel | Base class for all particular remobject channels. |
ROClientChannel | ROClientChannel is the abstract base class for Client Channel implementations in Remoting SDK for Xcode. |
ROComplexType | ROComplexType is the base class for all Struct types defined in your RODL library. |
ROData | |
ROEnumMetaData | This is the base class for building enumeration value to string converters. Concrete descendants of this class are generated by codegen for every enum defined in the corresponding RODL. Natively Objective... |
ROEventHandlerRecord | |
ROEventInvoker | |
ROEventReceiver | The ROEventReceiver class is a server callback events receiver implementation for OS X platform. |
ROGuid | Provides a convenient object-oriented facility to create and store GUID values. GUIDs (also known as UUIDs in Mac Xcode) are 128-bit values guaranteed to be unique. |
ROHTTPAsyncRequest | |
ROHTTPClientChannel | ROHTTPClientChannel implements the standard Client Channel for communicating with Remoting SDK servers via the HTTP protocol. It is also the channel used by the ROSimpleRemoteService. |
ROInvocation | |
ROInvokeParameters | |
ROMessage | ROMessage is the abstract base class for Message implementations in Remoting SDK for Xcode. |
ROMessageEnvelope | ROMessageEnvelope is the abstract base class for Message Envelope implementations in Remoting SDK for Xcode. |
ROMessageState | Internal message state object. Not intended to use by users. |
ROMutableArray | |
ROProxy | ROProxy is the abstract base class for Proxy classes defined for your services. Proxy objects are used on the client side as call sites for methods on your services, and encapsulate the logic needed for taking the method calls... |
RORemoteService | A RORemoteService instance represents all information needed to identify a service on a remote machine that a client wants to communicate with, namely the ROClientChannel configured for the server's end point, the ROMessage for the approriate message... |
RORodlFile | |
RORodlItem | |
RORodlService | |
ROSimpleRemoteService | A ROSimpleRemoteService is provided to cater for the most common scenario of talking to a HTTP server via BinMessage without needing to manually create the necessary message and channel instances. |
ROSoapMessage | This class is the SOAP Message implementation for Xcode. |
ROSoapMessageState | The internal SOAP message state object. It is not intended to use by users. |
ROSoapSerializer | This class is a helper class used internally by the ROSoapMessage to convert simple data to SOAP-compatible XML expressions. This class is not intended to be instantiated or used by users. |
ROSuperHTTPAsyncRequest | This class is the ROAsyncRequest descendant describing in Asynchronous Requests context. It adds no new user visible features to the superclass but internally reflects the specifics of the SuperHTTP channel. As a rule, any ROAsyncRequest descendant objects should not be instantiated directly in the users' code, they are returned by asynchronous proxies begin* methods. |
ROSuperHTTPAsyncRequestOperation | |
ROSuperHTTPClientChannel | This class is the Xcode implementation of the Super HTTP Channel - the enhanced HTTP-based channel which provides a sophisticated and flexible communication channel which... |
ROSuperHTTPEventsOperation | |
ROSuperHTTPOperation | |
ROSuperHTTPRequestOperation | |
ROSuperHTTPWaitResponseOperation | |
ROTCPAsyncRequest | This is the asynchronous request class that is designed to be used together with ROTCPClientChannel class. This class exposes no new members available to users and should not be created by users directly. This class is used through the interface of it's superclass, ROAsyncRequest. Please refer to the ROAsyncRequest class documentation for more information. |
ROTCPClientChannel | The ROTCPClientChannel class is the legacy TCP channel implementation for Xcode. |
ROTCPClientChannelConnection | |
ROTypeActivator | This class is abstract. Its descendants are used together with the ROTypeManager class to create complex types instances. In simple scenarios, it is enough to call [[[SomeClass alloc] init] autorelease] to successfully create a... |
ROTypeManager | The general purpose of this class is to provide a facility to create an instance of the class with a given class name. In this sense, it is a kind of substitute for the reflection feature that exists in .NET. |
ROVariant | This class is designed to read and write a Delphi-compatible variant type. The variant type can be used to represent a piece of data of unknown type and can hold different/changing types of data at runtime. |
ROXml | ROXml provides a cross-platform data type to hold XML data to be sent to or received from services. Because Cocoa's native CML classes are not supported on the iPhone platform at the time of writing, this class was introduced to provide a common type... |
ROZeroConfBrowser | The ROZeroConfBrowser class is a facility to support client-side zero configuration networking in RO SDK for Xcode applications. Its functionality is based on Cocoa's NSNetServiceBrowser class. In addition, the ROZeroConfBrowser class is able... |
ROZlib | This class is a simple Objective C wrapper around ZLib compression library. It allows to compress and decompress the data easily eliminating the need to operate with C language functions and data structures. |
Protocols
Protocol | Notes |
---|---|
NSURLConnectionDelegate | |
ROActiveClientChannel | This protocol defines several methods specific to active (super) client channels, such as ROSuperHTTPClientChannel. |
ROActiveClientChannelDelegate | This protocol defines delegate methods for active (super) client channels, such as ROSuperHTTPClientChannel. |
ROAsyncRequestDelegate | The ROAsyncRequestDelegate describes the delegate methods that a ROAsyncRequest will call on its delegate object, to inform it about progress, success or failure of the request. |
ROClientChannelDelegate | This article describes the informal protocol that allows to get feedback from the client channel (ROClientChannel descendant) about connection progress. This includes data flow tracking, login (RO approach, see Authentication and Login) and exception handling. |
RODeepCopying | The RODeepCopying protocol is quite similar to NSCopying protocol found in Foundation framework but the difference consists of making deep copies of objects. Deep copying means that if the source object contains references to other objects those... |
ROEventReceiverDelegate | This protocol defines the optional methods implemented by delegates of ROEventReceiver objects. |
ROHTTPBasedClientChannel | This protocol defines the set of methods specific to HTTP based client channels. The main goal is to operate with HTTP headers used for HTTP requests. |
ROHTTPBasedClientChannelDelegate | Defines the HTTP based client channel delegate methods. |
ROSerialization | This is the formal protocol that defines the interface to allow serialization and deserialization of values of all supported types. This protocol is used internally to create message classes such as binary message or SOAP message. You will have to implement this protocol if you want to create your own message class as a ROMessage descendant. |
ROSOAPNillableWrapper | |
ROStreamable | This formal protocol defines the interface to read and write a complex type instance to a message. Complex types that implement this protocol include ROComplexType and ROException. In other words, the complex type should... |
ROSuperHTTPClientChannelDelegate | This protocol is intended to extend ROClientChannelDelegate protocol with some events specific to the ROSuperHTTPClientChannel client channel class. |
ROZeroConfBrowserDelegate | The informal protocol to be implemented by a ROZeroConfBrowser delegate object. Declares methods to notify the delegate object about services availability changes. |
Enums
Enum | Notes |
---|---|
ROMessageType | This enum contains the possible message types that client and server can send to each other. Messages of different types have different meaning in the same messaging protocol. The concrete messaging protocol can limit the number of message types supported... |
ROSoapMode | This enumeration is used to quickly set up ROSoapMessage message instance to use one of the common SOAP messaging conventions. |
ROVariantTypeCode | This enumeration contains variant type code values matching those of Delphi native Variant type. |
Exceptions
Exception | Notes |
---|---|
ROAESEnvelopeUnexpectedLengthException | Is thrown by ROAESEncryptionEnvelope when: |
ROAsyncRequestActiveException | Thrown by ROAsyncRequest or descendants when there is an attempt to start the request that is already started. |
ROAsyncRequestCancelledException | Thrown by ROAsyncRequest or descendants when there is an attempt to access the result of the request that has been cancelled. |
ROAsyncRequestException | The base class for async request exceptions. Descendants of this class indicate error conditions specific to asynchronous calls. |
ROAsyncRequestNotFinishedException | |
ROAsyncRequestThreadSuspendedException | Thrown by ROAsyncRequest or descendants when the thread the request was started from is not running at the moment of the request completion. By default the request completion code is executed on the originating thread. To avoid this error condition make... |
ROBinMessageVersionException | This exception is thrown by ROBinMessage when incoming message's version (as specified in the dedicated binary message field) is not supported by the current RO SDK version. |
ROChannelBusyException | The exception is thrown by plain client channels is case of attempt to use the channel for a remote request while the channel is waiting for another request results. Plain channels are synchronous and can process only one request at a time. |
ROClientChannelException | The base class for client channel exceptions. Descendants of this class indicate error conditions specific to Client Channels. |
ROCommonCryptoException | Indicetes a Common Crypto API error. It is currently used by ROAESEncryptionEnvelope. Common Crypto execptions are also thrown in case of wrong decryption key used. |
ROConnectionReestablishedException | The special exception class that can be thrown on any remote request in case the client channel detects a possible half open socket condition. |
RODeprecatedApiException | This exception can be thrown ny various classes to indicate that certain method or even entire class is deprecated and cannot be used any more. The exception message will contain hints about suitable replacement of the deprecated API. |
RODispatchErrorException | This exception is thrown by client channels in case of error dispatching message to the server. This is not a business logic or server side error and usually caused by communication failures... |
ROException | ROException is the base class for all exception types related to Remoting SDK. This includes exceptions thrown from the RO SDK code indicating some error condition and exceptions defined in your RODL Library. The base exception type provides special support for propagating exceptions back from servers. Any server exceptions that are unknown on the client or do not descend from ROException will be represented using a special descendant of ROException, ROServerException . |
ROInvalidBinMessageException | The base class for error conditions specific to binary messaging. It is thrown by ROBinMessage class. |
ROInvalidClientIdException | This exception is thrown when SuperHTTP server could not identify the connecting client as known. This could happen after the server was restarted unexpectedly to the client or the client sufferes from prolonged connection... |
ROInvalidUrlException | This exception is thrown by client channels and messages when they parse URL Schemes and configure themselves accordingly. There are two possible causes of this... |
ROInvalidVariantCodeException | This exception happens when deserializing a Variant typed value sent by remote party. Every variant value contains a type identifier to specify the type of data that is actually stored inside the Variant value. The exception is thrown when such identifier... |
ROLibraryNotLinkedException | This exception is thrown when the library code is able to detect the absence of required code linked to the application. This can happen when RO SDK is used as a static library, most probably for iOS development. |
ROMessageException | The base class for message specific error conditions. |
ROMessageTooShortException | Thrown when the data stream received from from server is too short to be a valid data package for certain messaging protocol. This can be caused by the server failure or improper specification of client connection parameters... |
ROMissingEventInvokerException | This exception is thrown when there is an incoming event but it cannot be processed because the corresponding processing class (event invoker) is missing. This error is caused by mismatch between the generated remote service... |
ROMissingMessageEnvelopeException | This exception is thrown by ROBinMessage class instance when it detects an incoming message wrapped with message envelope but it is unable to find the corresponding ROMessageEnvelope configured locally to unwrap it. You need to configure the same set of envelopes on both server and client side for the communication to function properly. |
RONotImplementedException | |
ROPropertyValidationException | This exception can be thrown by various classes to indicate that a certain property has invalid value or not assigned at all. |
ROProxyConfigurationException | The exception is thrown when you try to use a ROProxy instance (it's descendant from the remote service interface code) but it is not fully configured: either channel or message is not assigned. |
RORemoteRequestTimeoutException | This exception is thrown when calling remote services and indicates that the client has not received the responce for the remote request during the specified period of time. This can happen due to communication failure or when the remote operation takes... |
ROServerException | The base class for all server side exceptions transferred from the server to client and thrown locally. |
ROSoapDateException | This exception is thrown when ROSoapMessage class instance tries to parse a parameter value that is expected to be of datetime type but the date representation does not conform to the SOAP datetime convention. |
ROSoapException | This is the base class for SOAP specific excptions thrown by ROSoapMessage class. |
ROSoapMessageValidityException | Thie exception is thrown when any part of SOAP message appeared to be invalid or when a mandoatory part of the message is missing. |
ROSoapMissingRefTargeException | This exception indicates that the incoming SOAP message contains references to some entities but those entities are missing. The possible cause is the SOAP server error or data corruption. |
ROSoapXmlException | This exception is thrown when the libxml parser was unable to parse the SOAP message. The most common cause is the server response is not XML, you need to check the server configuration and connection parameters, such as target URL... |
ROSuperHTTPCommunicationException | This exception is thrown by ROSuperHTTPClientChannel in case there is a error reported by underlying HTTP connections. The most common cause is a network link failure. |
ROSuperHTTPException | The base class for exceptions specific to Super HTTP Channel. Descendants of this exception class are thrown by ROSuperHTTPClientChannel. |
ROSuperHTTPPackageTooBigException | Thius exception is thrown when the size of data package being transmitted exceeds the configured limits. This exception can be thrown on both client and server sides. Use ROSuperHTTPClientChannel property to configure the desired maximum... |
ROSuperHTTPProtocolException | This exception is used to indicate a error condition with the SuperHTTP specific communication . Such errors can happen for example after unexpected server restart when all clients registration internal data is lost. It is necessary to reestablish the... |
ROSuperHTTPSoftException | This exception is used internally by the ROSuperHTTPClientChannel class and never raised at the user code level. |
ROTCPDispatchErrorException | This eception is thrown by ROTCPClientChannel class when it is unable to dispatch a message. As a rule this inidicates a network problem or unavailable server. |
ROUnableInstantiateObjectException | This exception happens when deserializing complex types (i.e. arrays and structures) but the library was unable to create an instance of the required class. This can happen when the local... |
ROUnexpectedObjectInStreamException | This exception happens when deserializing complex types (i.e. arrays and structures) but the actual deserialized class does not match the expected class. This can happen when the local service... |
ROUnknownClassException | This exception is thrown when ROTypeManager is requested to instantiate an unknown class. This can happen when the reference to unknown class is received from the server as a part of remote request result and usually indicates that the current service... |
ROVariantConvertException | This exception indicates that value contained in the ROVariant instance cannot be converted to a certain type using as[Type] property. |
ROVariantException | The base class for exceptions related to processing data of Variant type. |
ROVariantIsNotArrayException | The exception is thrown in case of attempt to acceess a ROVariant containing a scalar value as an array, i.e. use getItemAtIndex: and setItem:atIndex: methods. |
ROZeroConfException | This exception is thrown by RORemoteService class in case of any errors interacting with the Bonjour. |
SessionDoesNotHaveRequiredRolesException | This is a server side exception thrown when the connection has no required security roles to perform a certain operation. |
SessionNotFoundException | SessionNotFoundException, a special exception class shared between all three editions of Remoting SDK, is used to indicate when a remote call failed because no session was found - typically meaning that user login is required. |
Aliases
Alias | Type |
---|---|
byte |
unsigned char |
int16 |
int16_t |
int32 |
int32_t |
int64 |
int64_t |
int8 |
signed char |
ROXmlDocument |
void * |
ROXmlNamespace |
void * |
ROXmlNode |
void * |
uint16 |
uint16_t |
uint32 |
uint32_t |
uint64 |
uint64_t |
uint8 |
unsigned char |
Extensions
Extension |
---|
NSData |
NSNetService |
NSDate |
NSMutableArray |
NSString |