Files
localiserd/lib/localiser/localisation/floor/server.ex
T
2026-04-16 15:46:00 +02:00

25 lines
559 B
Elixir

defmodule Localiser.Localisation.Floor.Server do
use Supervisor
alias Localiser.Localisation.Room
alias Localiser.Localisation.Sensor
def start_link(floor) do
Supervisor.start_link(__MODULE__, floor, name: via(floor.id))
end
def via(floor_id) do
{:via, Registry, {Localiser.Registry, {:floor_server, floor_id}}}
end
@impl true
def init(floor) do
children = [
{Room.Supervisor, floor},
{Sensor.Supervisor, floor},
{Sensor.Manager, floor}
]
Supervisor.init(children, strategy: :one_for_one)
end
end