Skip to content
Snippets Groups Projects
Messenger.swift 2.26 KiB
Newer Older
import XXClient

public struct Messenger {
Dariusz Rybicki's avatar
Dariusz Rybicki committed
  public var cMix: Stored<CMix?>
  public var e2e: Stored<E2E?>
  public var ud: Stored<UserDiscovery?>
Dariusz Rybicki's avatar
Dariusz Rybicki committed
  public var isCreated: MessengerIsCreated
  public var create: MessengerCreate
  public var isLoaded: MessengerIsLoaded
  public var load: MessengerLoad
  public var registerAuthCallbacks: MessengerRegisterAuthCallbacks
Dariusz Rybicki's avatar
Dariusz Rybicki committed
  public var start: MessengerStart
  public var isConnected: MessengerIsConnected
  public var connect: MessengerConnect
  public var isRegistered: MessengerIsRegistered
  public var register: MessengerRegister
  public var isLoggedIn: MessengerIsLoggedIn
  public var logIn: MessengerLogIn
  public var waitForNetwork: MessengerWaitForNetwork
  public var waitForNodes: MessengerWaitForNodes
  public var destroy: MessengerDestroy
  public var searchUsers: MessengerSearchUsers
  public var registerForNotifications: MessengerRegisterForNotifications
}

extension Messenger {
Dariusz Rybicki's avatar
Dariusz Rybicki committed
  public static func live(_ env: MessengerEnvironment) -> Messenger {
    Messenger(
Dariusz Rybicki's avatar
Dariusz Rybicki committed
      cMix: env.cMix,
      e2e: env.e2e,
      ud: env.ud,
      isCreated: .live(env),
      create: .live(env),
      isLoaded: .live(env),
      load: .live(env),
      registerAuthCallbacks: .live(env),
Dariusz Rybicki's avatar
Dariusz Rybicki committed
      start: .live(env),
      isConnected: .live(env),
      connect: .live(env),
      isRegistered: .live(env),
      register: .live(env),
      isLoggedIn: .live(env),
      logIn: .live(env),
      waitForNetwork: .live(env),
      waitForNodes: .live(env),
      destroy: .live(env),
      searchUsers: .live(env),
      registerForNotifications: .live(env)
    )
  }
}

extension Messenger {
  public static let unimplemented = Messenger(
Dariusz Rybicki's avatar
Dariusz Rybicki committed
    cMix: .unimplemented(),
    e2e: .unimplemented(),
    ud: .unimplemented(),
    isCreated: .unimplemented,
    create: .unimplemented,
    isLoaded: .unimplemented,
    load: .unimplemented,
    registerAuthCallbacks: .unimplemented,
Dariusz Rybicki's avatar
Dariusz Rybicki committed
    start: .unimplemented,
    isConnected: .unimplemented,
    connect: .unimplemented,
    isRegistered: .unimplemented,
    register: .unimplemented,
    isLoggedIn: .unimplemented,
    logIn: .unimplemented,
    waitForNetwork: .unimplemented,
    waitForNodes: .unimplemented,
    destroy: .unimplemented,
    searchUsers: .unimplemented,
    registerForNotifications: .unimplemented