Current section

Files

Jump to
i3_client src i3_client_version.erl
Raw

src/i3_client_version.erl

-module(i3_client_version).
-moduledoc false.
-export([from_reply/1, support/2]).
-include("i3_client_codec.hrl").
-define(enotsup, {error, enotsup}).
from_reply(Bin) ->
case json:decode(Bin) of
#{
<<"variant">> := Variant,
<<"major">> := Major,
<<"minor">> := Minor,
<<"patch">> := Patch
} ->
{ok, {Variant, {Major, Minor, Patch}}};
#{
<<"major">> := Major,
<<"minor">> := Minor,
<<"patch">> := Patch
} ->
{ok, {<<"i3">>, {Major, Minor, Patch}}};
_ ->
{error, enotsup}
end.
support({<<"i3">>, _}, {?get_inputs, _}) -> ?enotsup;
support({<<"i3">>, _}, {?get_seats, _}) -> ?enotsup;
support(_Version, _Msg) -> ok.