RVS_ONVIF_DeviceRequestProtocol

public protocol RVS_ONVIF_DeviceRequestProtocol

This protocol defines the basic structure of our SOAP command enums.

This is a way to have “opaque” command enums that are independent of the calling context.

This should only be applied to enums, and should only be used internally for the RVS_ONVIF library.

  • This is the profile key (for looking up in the profile hander list).

    Declaration

    Swift

    var profileKey: String { get }
  • This allows us to use enum rawValues in our defaults. I got the idea for this here: https://stackoverflow.com/a/33571134/879365

    Declaration

    Swift

    var rawValue: String { get }
  • This is the namespace indicator for the SOAP action.

    Declaration

    Swift

    var soapSpace: String { get }
  • This is the namespace indicator for the SOAP action’s parameters.

    Declaration

    Swift

    var paramSpace: String { get }
  • This is the actual SOAP XML element name for the command.

    Declaration

    Swift

    var soapAction: String { get }
  • If true, then the SOAP call will include decoded attributes (not just node values).

    Declaration

    Swift

    var isRetrieveAttributes: Bool { get }
  • If true, then this operation requires additional parameters (needs a custom setup). Default is false.

    Declaration

    Swift

    var isRequiresParameters: Bool { get }
  • headerNamespaceFor(_:) Default implementation

    This is the namespace, converted to a string for inclusion in the SOAP envelope element.

    Default Implementation

    This is the namespace, with additional information added.

    Declaration

    Swift

    func headerNamespaceFor(_ inONVIF_Handler: RVS_ONVIF!) -> String

    Parameters

    inONVIF_Handler

    The RVS_ONVIF instance that “owns” this transaction.

    Return Value

    a String, with the namespace.

  • This is the path for our ONVIF call.

    Declaration

    Swift

    func pathFor(_: RVS_ONVIF!) -> String