lib/grizzly/zwave/command_class.ex

defmodule Grizzly.ZWave.CommandClass do
  @moduledoc """
  Behaviour for a command class implementation
  """

  alias Grizzly.ZWave.CommandClasses

  @typedoc """
  A module that implements this behaviour
  """
  @type t :: module()

  @doc """
  Get the byte for the command class
  """
  @callback byte() :: byte()

  @doc """
  Get the name of the command class
  """
  @callback name() :: CommandClasses.command_class()
end