Skyle_SkyleAsyncProvider

@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public protocol Skyle_SkyleAsyncProvider : CallHandlerProvider, Sendable

Skyle service to use the eye tracker

To implement a server, implement an object which conforms to this protocol.

  • serviceDescriptor Default implementation

    Undocumented

    Default Implementation

    Undocumented

    Declaration

    Swift

    static var serviceDescriptor: GRPCServiceDescriptor { get }
  • interceptors Default implementation

    Undocumented

    Default Implementation

    Undocumented

    Declaration

    Swift

    var interceptors: Skyle_SkyleServerInterceptorFactoryProtocol? { get }
  • Used to calibrate for the current user. Streams in both directions with given message types. Client needs to close the stream when done

    Declaration

    Swift

    func calibrate(
      requestStream: GRPCAsyncRequestStream<Skyle_CalibControlMessages>,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_CalibMessages>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Subscribe a stream sending eye positions and quality indicators to achieve good positioning of a user. Client needs to close the stream when done

    Declaration

    Swift

    func positioning(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_PositioningMessage>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Subscribe a gaze stream, that sends coordinates of the current user gaze on a screen. Client needs to close the stream when done

    Declaration

    Swift

    func gaze(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_Types_Point>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Subscribe a trigger stream, that sends trigger messages, when a user fixates a point or clicks. Client needs to close the stream when done

    Declaration

    Swift

    func trigger(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_TriggerMessage>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Unary call to get the button status

    Declaration

    Swift

    func getButton(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_Button
  • Unary call to configure the button actions, answers with the resulting configuration

    Declaration

    Swift

    func setButton(
      request: Skyle_ButtonActions,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_ButtonActions
  • Unary call to get (OptionMessage -> empty) or set options (OptionMessage -> Options). Answers with the resulting options. Options are saved to the current user profile

    Declaration

    Swift

    func configure(
      request: Skyle_OptionMessage,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_Options
  • Undocumented

    Declaration

    Swift

    func configureStream(
      requestStream: GRPCAsyncRequestStream<Skyle_OptionMessage>,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_Options>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Unary call to get software versions

    Declaration

    Swift

    func getVersions(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_DeviceVersions
  • Subscribe a profile stream of all available profiles. Host ends stream when all results are sent

    Declaration

    Swift

    func getProfiles(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_Profile>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Unary call to get the current profile

    Declaration

    Swift

    func currentProfile(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_Profile
  • Unary call to set or create a profile. Answers with a status message (success or failure)

    Declaration

    Swift

    func setProfile(
      request: Skyle_Profile,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_StatusMessage
  • Unary call to delete a profile. Answers with a status message (success or failure)

    Declaration

    Swift

    func deleteProfile(
      request: Skyle_Profile,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_StatusMessage
  • Unary call to reset specific parts

    Declaration

    Swift

    func reset(
      request: Skyle_ResetMessage,
      context: GRPCAsyncServerCallContext
    ) async throws -> Skyle_StatusMessage
  • Used to calibrate / test cursor. Streams in both directions with given message types. Client needs to close the stream when done

    Declaration

    Swift

    func cursorCalibration(
      requestStream: GRPCAsyncRequestStream<Skyle_CalibCursorMessages>,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_Types_Point>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Subscribe a raw image stream that sends unencoded frames. Client needs to close the stream when done

    Declaration

    Swift

    func rawImages(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_RawImage>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • Subscribe a unfiltered binocular gaze stream, that sends coordinates of the current user gaze per eye. Client needs to close the stream when done

    Declaration

    Swift

    func rawBinocularGaze(
      request: SwiftProtobuf.Google_Protobuf_Empty,
      responseStream: GRPCAsyncResponseStreamWriter<Skyle_BinocularGaze>,
      context: GRPCAsyncServerCallContext
    ) async throws
  • serviceName Extension method

    Declaration

    Swift

    public var serviceName: Substring { get }
  • handle(method:context:) Extension method

    Declaration

    Swift

    public func handle(
      method name: Substring,
      context: CallHandlerContext
    ) -> GRPCServerHandlerProtocol?