Protocols

The following protocols are available globally.

  • Primary interface for the PredixMobileSDK to communicate with the UI.

    Used to display the main UI, and the Authentication UI

    Informs the UI when to display a native UI waiting component (spinner or progress bar)

    Provides communication channel for notifications (script execution)

    See more

    Declaration

    Swift

    @objc public protocol PredixAppWindowProtocol : class
  • Protocol for AuthorizationHandlers.

    Authorization handlers provide specific authorization (post-authentication) capabilities for the AuthenticationManager

    Classes that implement this protocol handle authorization, by exchanging authentication tokens for authorized user information.

    See more

    Declaration

    Swift

    public protocol AuthorizationHandler : class
  • Defines a basic interface that allows for control of where logs get transmitted to

    See more

    Declaration

    Swift

    public protocol LogTransmitter
  • Protocol all services must implement to be considered a service

    Important

    You will notice all these methods are staticly defined. Services are expected to be completely static classes. This is done to emphasize and promote the stateless nature of service calls. Services should be stateless, reentrant, and thread-safe.

    There are no guarentees for how, when, on what thread, or how often any service is called.

    See more

    Declaration

    Swift

    @objc public protocol ServiceProtocol
  • Protocol used by Logger class for logging operations.

    See more

    Declaration

    Swift

    @objc public protocol LoggerProtocol
  • Allow a container application (iOS native) to make decision and extensions to notifications that will be sent to a web client (Hybrid).

    An example of this would be to allow an application to process and filter notifications in a background thread before allowing notification to be sent to the web client running in the webview.

    See more

    Declaration

    Swift

    public protocol NotificationManagerDelegate: NSObjectProtocol
  • Delegate protocol for UI interactions with Authentication handlers.

    Some authentication handlers may interact with the UI. These delegate methods will be called when those handlers are about to interact with the UI, or have finished with the UI.

    See more

    Declaration

    Swift

    public protocol AuthenticationHandlerUIDelegate : class
  • Authentication handlers that rely on external components that may fail, such as network requests, will support this delegate to pass information about those failures to the user.

    See more

    Declaration

    Swift

    public protocol FailableAuthenticationHandlerDelegate : class
  • Authentication handlers that rely on external user interaction to provide authentication credentials will support this delegate to gather the user’s credentials, and alert the user if those credentials are not valid.

    See more

    Declaration

    Swift

    public protocol ProvideCredentialsAuthenticationHandlerDelegate : class
  • Authentication handlers that rely on calling an a web-based oAuth2 authentication flow to gather and validate authentication credentials will support this delegate to support display of the authentication web page, detecting the oAuth2 redirectURI and handling errors.

    See more

    Declaration

    Swift

    public protocol BrowserBasedAuthenticationHandlerDelegate : FailableAuthenticationHandlerDelegate
  • Public protocol implemented by the Service Router for service registration and processing requests.

    See also

    ServiceRouter
    See more

    Declaration

    Swift

    @objc public protocol ServiceRouterProtocol