RVP_Cocoa_SDK_Delegate
public protocol RVP_Cocoa_SDK_Delegate : AnyObject
This protocol needs to be applied to any class that will use the SDK. The SDK requires a delegate.
All methods are required.
These are likely to be called in non-main threads, so caveat emptor.
-
This is called when a server session (not login) is started or ended. If the connection was invalidated, then sessionDisconnectedBecause will also be called after this.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, sessionConnectionIsValid: Bool, refCon: Any?)Parameters
sessionConnectionIsValidA Bool, true, if the SDK is currently in a valid session with a server.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when the server has completed its login sequence, and all is considered OK. The server should not be considered “usable” until after this method has been called with true.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, loginValid: Bool, refCon: Any?)Parameters
loginValidA Bool, true, if the SDK is currently logged in.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when the SDK instance disconnects from the server.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, sessionDisconnectedBecause: RVP_Cocoa_SDK.DisconnectionReason, refCon: Any?)Parameters
sessionDisconnectedBecauseThe reason for the disconnection.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when there is an error in the SDK instance.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, sessionError: Error, refCon: Any?)Parameters
sessionErrorThe error in question.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called with one or more data items. Each item is a single object. In an auto-radius search, this may be called repeatedly.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, fetchedDataItems: [A_RVP_Cocoa_SDK_Object], refCon: Any?)Parameters
fetchedDataItemsAn array of subclasses of A_RVP_IOS_SDK_Object.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to a new token creation request.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, newSecurityTokens: [Int], refCon: Any?)Parameters
newSecurityTokensAn Array of new security token IDs.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to the count how many logins have access to a token test.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, tokenAccessTest: [Int : Int], refCon: Any?)Parameters
tokenAccessTestA dictionary, with the keys being a token, and the values being how many logins have access to that token.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to the token catalog request (fetchAllTokensFromServer).
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, tokenList: [RVP_Cocoa_SDK.TokenType], refCon: Any?)Parameters
tokenListAn Array of Token Type Enum values. Some may have associated data.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to the count how many logins have access to a token test.
This version of the call is security-restricted, so the IDs will only be for logins that the current login can see.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, tokenAccessTest: (token: Int, logins: [Int]), refCon: Any?)Parameters
tokenAccessTestA tuple, containing the tested token (“token”), and the IDs of the logins (not users) that have the token (“logins”).
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to the count how many users have access to a token test.
This version of the call is security-restricted, so the IDs will only be for users that the current login can see.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, tokenAccessTest: (token: Int, users: [Int]), refCon: Any?)Parameters
tokenAccessTestA tuple, containing the tested token (“token”), and the IDs of the users (not logins) that have the token (“users”).
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is a response to the get a fast list of available users and IDs. We will use this for things like auto-populating search boxes.
This version of the call is security-restricted, so the IDs will only be for users that the current login can see.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, fastUserList: [Int : String], refCon: Any?)Parameters
fastUserListDictionary, indexed by the integer user (not login) ID, and a string value, containing the display name for that user.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called with one or more data items. Each item is a single object. This returns the items that were deleted (they no longer exist) in the database.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, deletedDataItems: [A_RVP_Cocoa_SDK_Object], refCon: Any?)Parameters
deletedDataItemsAn array of subclasses of A_RVP_IOS_SDK_Object.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when a new object has been created in the system. It is called once per new object, just before sdkInstance(_:,fetchedDataItems:), which will be called with the same object, in an Array of one element.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, newObject: A_RVP_Cocoa_SDK_Object, refCon: Any?)Parameters
newObjectThe newly-created object.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when an object has been changed in the system.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, changedObject: A_RVP_Cocoa_SDK_Object, refCon: Any?)Parameters
changedObjectThe changed object.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when a ping command has been sent and received.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, pingResponse: [Int : Double], refCon: Any?)Parameters
pingResponseThe Dictionary, with the key being an Integer (the login -not user- ID), and the value being a Double, with the time remaining (in seconds). If it is -1, then that means that there is no time limit to the login. If it is an empty Dictionary, then that means the ping failed.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called with zero or more IDs. Baseline searches are a “two-step” process, where IDs are fetched first, then objects. This call is made between the two steps. In the case of auto-radius, the second step is not done until the end, so this is the only indication of progress. In an auto-radius search, this will be called repeatedly, but the actual objects will not be fetched until the final call.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstance(_: RVP_Cocoa_SDK, baselineAutoRadiusIDs: [Int], isFinal: Bool, refCon: Any?)Parameters
baselineAutoRadiusIDsAn array of Int. This contains the current IDs for the interim step of a baseline search.
isFinalThis is true, if this was the last call for an auto-radius search. Remember that the call may be made before the threshold has been reached.
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when the last auto-radius call has been made. This is called BEFORE the results of that call come, so keep in mind that it is not the last. You should wait for sdkInstanceOperationComplete() to be called.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstanceFinalAutoRadiusCall(_: RVP_Cocoa_SDK, refCon: Any?)Parameters
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
-
This is called when an operation is complete.
NOTE: This is not guaranteed to be called in the main thread!
Declaration
Swift
func sdkInstanceOperationComplete(_: RVP_Cocoa_SDK, refCon: Any?)Parameters
refConThis is an optional Any parameter that is simply returning attached data to the delegate. The data is sent during the initial call. “refCon” is a very old concept, that stands for “Reference Context.” It allows the caller of an async operation to attach context to a call.
View on GitHub
RVP_Cocoa_SDK_Delegate Protocol Reference