Current section

Files

Jump to
cttest src xep0280.erl
Raw

src/xep0280.erl

%% Created automatically by XML generator (fxml_gen.erl)
%% Source: xmpp_codec.spec
-module(xep0280).
-compile(export_all).
do_decode(<<"sent">>, <<"urn:xmpp:carbons:2">>, El,
Opts) ->
decode_carbons_sent(<<"urn:xmpp:carbons:2">>, Opts, El);
do_decode(<<"received">>, <<"urn:xmpp:carbons:2">>, El,
Opts) ->
decode_carbons_received(<<"urn:xmpp:carbons:2">>,
Opts,
El);
do_decode(<<"private">>, <<"urn:xmpp:carbons:2">>, El,
Opts) ->
decode_carbons_private(<<"urn:xmpp:carbons:2">>,
Opts,
El);
do_decode(<<"enable">>, <<"urn:xmpp:carbons:2">>, El,
Opts) ->
decode_carbons_enable(<<"urn:xmpp:carbons:2">>,
Opts,
El);
do_decode(<<"disable">>, <<"urn:xmpp:carbons:2">>, El,
Opts) ->
decode_carbons_disable(<<"urn:xmpp:carbons:2">>,
Opts,
El);
do_decode(Name, <<>>, _, _) ->
erlang:error({xmpp_codec, {missing_tag_xmlns, Name}});
do_decode(Name, XMLNS, _, _) ->
erlang:error({xmpp_codec, {unknown_tag, Name, XMLNS}}).
tags() ->
[{<<"sent">>, <<"urn:xmpp:carbons:2">>},
{<<"received">>, <<"urn:xmpp:carbons:2">>},
{<<"private">>, <<"urn:xmpp:carbons:2">>},
{<<"enable">>, <<"urn:xmpp:carbons:2">>},
{<<"disable">>, <<"urn:xmpp:carbons:2">>}].
do_encode({carbons_disable} = Disable, TopXMLNS) ->
encode_carbons_disable(Disable, TopXMLNS);
do_encode({carbons_enable} = Enable, TopXMLNS) ->
encode_carbons_enable(Enable, TopXMLNS);
do_encode({carbons_private} = Private, TopXMLNS) ->
encode_carbons_private(Private, TopXMLNS);
do_encode({carbons_received, _} = Received, TopXMLNS) ->
encode_carbons_received(Received, TopXMLNS);
do_encode({carbons_sent, _} = Sent, TopXMLNS) ->
encode_carbons_sent(Sent, TopXMLNS).
do_get_name({carbons_disable}) -> <<"disable">>;
do_get_name({carbons_enable}) -> <<"enable">>;
do_get_name({carbons_private}) -> <<"private">>;
do_get_name({carbons_received, _}) -> <<"received">>;
do_get_name({carbons_sent, _}) -> <<"sent">>.
do_get_ns({carbons_disable}) ->
<<"urn:xmpp:carbons:2">>;
do_get_ns({carbons_enable}) -> <<"urn:xmpp:carbons:2">>;
do_get_ns({carbons_private}) ->
<<"urn:xmpp:carbons:2">>;
do_get_ns({carbons_received, _}) ->
<<"urn:xmpp:carbons:2">>;
do_get_ns({carbons_sent, _}) ->
<<"urn:xmpp:carbons:2">>.
pp(carbons_disable, 0) -> [];
pp(carbons_enable, 0) -> [];
pp(carbons_private, 0) -> [];
pp(carbons_received, 1) -> [forwarded];
pp(carbons_sent, 1) -> [forwarded];
pp(_, _) -> no.
records() ->
[{carbons_disable, 0},
{carbons_enable, 0},
{carbons_private, 0},
{carbons_received, 1},
{carbons_sent, 1}].
decode_carbons_sent(__TopXMLNS, __Opts,
{xmlel, <<"sent">>, _attrs, _els}) ->
Forwarded = decode_carbons_sent_els(__TopXMLNS,
__Opts,
_els,
error),
{carbons_sent, Forwarded}.
decode_carbons_sent_els(__TopXMLNS, __Opts, [],
Forwarded) ->
case Forwarded of
error ->
erlang:error({xmpp_codec,
{missing_tag, <<"forwarded">>, __TopXMLNS}});
{value, Forwarded1} -> Forwarded1
end;
decode_carbons_sent_els(__TopXMLNS, __Opts,
[{xmlel, <<"forwarded">>, _attrs, _} = _el | _els],
Forwarded) ->
case xmpp_codec:get_attr(<<"xmlns">>,
_attrs,
__TopXMLNS)
of
<<"urn:xmpp:forward:0">> ->
decode_carbons_sent_els(__TopXMLNS,
__Opts,
_els,
{value,
xep0297:decode_forwarded(<<"urn:xmpp:forward:0">>,
__Opts,
_el)});
_ ->
decode_carbons_sent_els(__TopXMLNS,
__Opts,
_els,
Forwarded)
end;
decode_carbons_sent_els(__TopXMLNS, __Opts, [_ | _els],
Forwarded) ->
decode_carbons_sent_els(__TopXMLNS,
__Opts,
_els,
Forwarded).
encode_carbons_sent({carbons_sent, Forwarded},
__TopXMLNS) ->
__NewTopXMLNS =
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:carbons:2">>,
[],
__TopXMLNS),
_els =
lists:reverse('encode_carbons_sent_$forwarded'(Forwarded,
__NewTopXMLNS,
[])),
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
__TopXMLNS),
{xmlel, <<"sent">>, _attrs, _els}.
'encode_carbons_sent_$forwarded'(Forwarded, __TopXMLNS,
_acc) ->
[xep0297:encode_forwarded(Forwarded, __TopXMLNS)
| _acc].
decode_carbons_received(__TopXMLNS, __Opts,
{xmlel, <<"received">>, _attrs, _els}) ->
Forwarded = decode_carbons_received_els(__TopXMLNS,
__Opts,
_els,
error),
{carbons_received, Forwarded}.
decode_carbons_received_els(__TopXMLNS, __Opts, [],
Forwarded) ->
case Forwarded of
error ->
erlang:error({xmpp_codec,
{missing_tag, <<"forwarded">>, __TopXMLNS}});
{value, Forwarded1} -> Forwarded1
end;
decode_carbons_received_els(__TopXMLNS, __Opts,
[{xmlel, <<"forwarded">>, _attrs, _} = _el | _els],
Forwarded) ->
case xmpp_codec:get_attr(<<"xmlns">>,
_attrs,
__TopXMLNS)
of
<<"urn:xmpp:forward:0">> ->
decode_carbons_received_els(__TopXMLNS,
__Opts,
_els,
{value,
xep0297:decode_forwarded(<<"urn:xmpp:forward:0">>,
__Opts,
_el)});
_ ->
decode_carbons_received_els(__TopXMLNS,
__Opts,
_els,
Forwarded)
end;
decode_carbons_received_els(__TopXMLNS, __Opts,
[_ | _els], Forwarded) ->
decode_carbons_received_els(__TopXMLNS,
__Opts,
_els,
Forwarded).
encode_carbons_received({carbons_received, Forwarded},
__TopXMLNS) ->
__NewTopXMLNS =
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:carbons:2">>,
[],
__TopXMLNS),
_els =
lists:reverse('encode_carbons_received_$forwarded'(Forwarded,
__NewTopXMLNS,
[])),
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
__TopXMLNS),
{xmlel, <<"received">>, _attrs, _els}.
'encode_carbons_received_$forwarded'(Forwarded,
__TopXMLNS, _acc) ->
[xep0297:encode_forwarded(Forwarded, __TopXMLNS)
| _acc].
decode_carbons_private(__TopXMLNS, __Opts,
{xmlel, <<"private">>, _attrs, _els}) ->
{carbons_private}.
encode_carbons_private({carbons_private}, __TopXMLNS) ->
__NewTopXMLNS =
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:carbons:2">>,
[],
__TopXMLNS),
_els = [],
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
__TopXMLNS),
{xmlel, <<"private">>, _attrs, _els}.
decode_carbons_enable(__TopXMLNS, __Opts,
{xmlel, <<"enable">>, _attrs, _els}) ->
{carbons_enable}.
encode_carbons_enable({carbons_enable}, __TopXMLNS) ->
__NewTopXMLNS =
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:carbons:2">>,
[],
__TopXMLNS),
_els = [],
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
__TopXMLNS),
{xmlel, <<"enable">>, _attrs, _els}.
decode_carbons_disable(__TopXMLNS, __Opts,
{xmlel, <<"disable">>, _attrs, _els}) ->
{carbons_disable}.
encode_carbons_disable({carbons_disable}, __TopXMLNS) ->
__NewTopXMLNS =
xmpp_codec:choose_top_xmlns(<<"urn:xmpp:carbons:2">>,
[],
__TopXMLNS),
_els = [],
_attrs = xmpp_codec:enc_xmlns_attrs(__NewTopXMLNS,
__TopXMLNS),
{xmlel, <<"disable">>, _attrs, _els}.