Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tools/xmpp_codec.spec')
-rw-r--r--tools/xmpp_codec.spec120
1 files changed, 119 insertions, 1 deletions
diff --git a/tools/xmpp_codec.spec b/tools/xmpp_codec.spec
index ad1e24f98..be18ce307 100644
--- a/tools/xmpp_codec.spec
+++ b/tools/xmpp_codec.spec
@@ -2068,6 +2068,122 @@
refs = [#ref{name = forwarded, min = 1,
max = 1, label = '$forwarded'}]}).
+-xml(feature_sm,
+ #elem{name = <<"sm">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {feature_sm}}).
+
+-xml(sm_enable,
+ #elem{name = <<"enable">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_enable, '$max', '$resume'},
+ attrs = [#attr{name = <<"max">>,
+ dec = {dec_int, [0, infinity]},
+ enc = {enc_int, []}},
+ #attr{name = <<"resume">>,
+ default = false,
+ dec = {dec_bool, []},
+ enc = {enc_bool, []}}]}).
+
+-xml(sm_enabled,
+ #elem{name = <<"enabled">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_enabled, '$id', '$location', '$max', '$resume'},
+ attrs = [#attr{name = <<"id">>},
+ #attr{name = <<"location">>},
+ #attr{name = <<"max">>,
+ dec = {dec_int, [0, infinity]},
+ enc = {enc_int, []}},
+ #attr{name = <<"resume">>,
+ default = false,
+ dec = {dec_bool, []},
+ enc = {enc_bool, []}}]}).
+
+-xml(sm_resume,
+ #elem{name = <<"resume">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_resume, '$h', '$previd'},
+ attrs = [#attr{name = <<"h">>,
+ required = true,
+ dec = {dec_int, [0, infinity]},
+ enc = {enc_int, []}},
+ #attr{name = <<"previd">>,
+ required = true}]}).
+
+-xml(sm_resumed,
+ #elem{name = <<"resumed">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_resumed, '$h', '$previd'},
+ attrs = [#attr{name = <<"h">>,
+ required = true,
+ dec = {dec_int, [0, infinity]},
+ enc = {enc_int, []}},
+ #attr{name = <<"previd">>,
+ required = true}]}).
+
+-xml(sm_r,
+ #elem{name = <<"r">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_r}}).
+
+-xml(sm_a,
+ #elem{name = <<"a">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_a, '$h'},
+ attrs = [#attr{name = <<"h">>,
+ required = true,
+ dec = {dec_int, [0, infinity]},
+ enc = {enc_int, []}}]}).
+
+-xml(sm_failed,
+ #elem{name = <<"failed">>,
+ xmlns = <<"urn:xmpp:sm:3">>,
+ result = {sm_failed, '$reason'},
+ refs = [#ref{name = error_bad_request,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_conflict,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_feature_not_implemented,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_forbidden,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_gone,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_internal_server_error,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_item_not_found,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_jid_malformed,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_not_acceptable,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_not_allowed,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_not_authorized,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_policy_violation,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_recipient_unavailable,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_redirect,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_registration_required,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_remote_server_not_found,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_remote_server_timeout,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_resource_constraint,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_service_unavailable,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_subscription_required,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_undefined_condition,
+ min = 0, max = 1, label = '$reason'},
+ #ref{name = error_unexpected_request,
+ min = 0, max = 1, label = '$reason'}]}).
+
dec_tzo(Val) ->
[H1, M1] = str:tokens(Val, <<":">>),
H = jlib:binary_to_integer(H1),
@@ -2110,7 +2226,9 @@ resourceprep(R) ->
end.
dec_bool(<<"false">>) -> false;
-dec_bool(<<"true">>) -> true.
+dec_bool(<<"0">>) -> false;
+dec_bool(<<"true">>) -> true;
+dec_bool(<<"1">>) -> true.
enc_bool(false) -> <<"false">>;
enc_bool(true) -> <<"true">>.