livebook/elixirkit/README.md
2025-02-11 19:06:28 +01:00

2 KiB

ElixirKit

ElixirKit helps running Elixir alongside native desktop applications on macOS and Windows.

🚧 ElixirKit is experimental and subject to change without notice.

See demo project, in particular demo/lib/demo.ex, demo/rel/appkit, and demo/rel/winforms.

ElixirKit for macOS (Swift)

  • ElixirKit.API.isRunning: Bool

    • Returns whether the Elixir runtime is currently running
  • ElixirKit.API.start(name: String, logPath: String?, readyHandler: () -> Void, terminationHandler: ((Process) -> Void)?) -> Void

    • Starts the Elixir runtime
  • ElixirKit.API.publish(_ name: String, _ data: String) -> Void

    • Publishes an event to the Elixir runtime
  • ElixirKit.API.stop() -> Void

    • Stops the Elixir runtime
  • ElixirKit.API.waitUntilExit() -> Void

    • Blocks until the Elixir runtime exits
  • ElixirKit.API.addObserver(queue: OperationQueue?, using: ((String, String)) -> Void) -> Void

    • Adds an observer for events from the Elixir runtime

ElixirKit for Windows (C#)

  • ElixirKit.API.HasExited: bool - Indicates whether the Elixir runtime has exited

  • ElixirKit.API.IsMainInstance(string id) -> bool

    • Checks if the current app is the main instance
  • ElixirKit.API.Start(string name, ReadyHandler ready, ExitHandler? exited = null, string? logPath = null) -> void

    • Starts the Elixir runtime
  • ElixirKit.API.Publish(string name, string data) -> void

    • Publishes an event to the Elixir runtime
  • ElixirKit.API.Subscribe(EventHandler handler) -> void

    • Subscribes to events from the Elixir runtime
  • ElixirKit.API.Stop() -> int

    • Stops the Elixir runtime
    • Returns exit code
  • ElixirKit.API.WaitForExit() -> int

    • Blocks until the Elixir runtime exits
    • Returns exit code
  • ElixirKit.ReadyHandler:() -> void

    • Callback for when the runtime is ready
  • ElixirKit.ExitHandler:(int ExitCode) -> void

    • Callback for when the runtime exits
  • ElixirKit.EventHandler:(string Name, string Data) -> void

    • Callback for handling events from the runtime