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