Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:26
erlang
2034-megaco-Types-and-spec-for-megaco-report_di...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2034-megaco-Types-and-spec-for-megaco-report_digit_event-.patch of Package erlang
From 79fd42add74cf7f5ab1b5806a300c6bf82e512da Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Thu, 4 Jan 2024 10:56:29 +0100 Subject: [PATCH 24/46] [megaco] Types and spec for megaco:report_digit_event/2 OTP-18920 --- lib/megaco/doc/src/megaco.xml | 26 +++++------ lib/megaco/doc/src/megaco_digit_map.xml | 53 +++++++++++++++++++++- lib/megaco/src/app/megaco.erl | 16 +++++-- lib/megaco/src/engine/megaco_digit_map.erl | 18 ++++++-- 4 files changed, 90 insertions(+), 23 deletions(-) diff --git a/lib/megaco/doc/src/megaco.xml b/lib/megaco/doc/src/megaco.xml index 254aade59e..be23d44619 100644 --- a/lib/megaco/doc/src/megaco.xml +++ b/lib/megaco/doc/src/megaco.xml @@ -243,12 +243,23 @@ --> </datatype> + <datatype> + <name name="digit_map_event"/> + <!-- + <desc> + <p> + TBD + </p> + </desc> + --> + </datatype> + <datatype> <name name="digit_map_letter"/> <!-- <desc> <p> - <c><![CDATA[$0..$9 | $a..$k]]></c> + <c><![CDATA[$0..$9 | $a..$k | $A..$K]]></c> </p> </desc> --> @@ -2192,19 +2203,8 @@ megaco_incr_timer() = #megaco_incr_timer{} </func> <func> - <name since="">report_digit_event(DigitMapEvalPid, Events) -> ok | {error, Reason}</name> + <name name="report_digit_event" arity="2" clause_i="1" since=""/> <fsummary>Send one or more events to the event collector process</fsummary> - <type> - <v>DigitMapEvalPid = pid()</v> - <v>Events = Event | [Event]</v> - <v>Event = letter() | pause() | cancel()</v> - <v>letter() = $0..$9 | $a .. $k | $A .. $K</v> - <v>pause() = one_second() | ten_seconds()</v> - <v>one_second() = $s | $S</v> - <v>ten_seconds() = $l | $L</v> - <v>cancel() = $z | $Z | cancel</v> - <v>Reason = term()</v> - </type> <desc> <p>Send one or more events to the event collector process.</p> <p>Send one or more events to a process that is evaluating a diff --git a/lib/megaco/doc/src/megaco_digit_map.xml b/lib/megaco/doc/src/megaco_digit_map.xml index 1418dcda06..55b6420c5b 100644 --- a/lib/megaco/doc/src/megaco_digit_map.xml +++ b/lib/megaco/doc/src/megaco_digit_map.xml @@ -40,7 +40,7 @@ <datatypes> <datatype> - <name name="digit_map_value"/> + <name name="value"/> <!-- <desc> <p> @@ -61,11 +61,60 @@ --> </datatype> + <datatype> + <name name="event"/> + <!-- + <desc> + <p> + TBD + </p> + </desc> + --> + </datatype> + <datatype> <name name="letter"/> <desc> <p> - <c><![CDATA[$0..$9 | $a..$k]]></c> + <c><![CDATA[$0..$9 | $a..$k | $A..$K]]></c> + </p> + </desc> + </datatype> + + <datatype> + <name name="pause"/> + <!-- + <desc> + <p> + TBD + </p> + </desc> + --> + </datatype> + + <datatype> + <name name="one_second"/> + <desc> + <p> + <c><![CDATA[$s | $S]]></c> + </p> + </desc> + </datatype> + + <datatype> + <name name="ten_seconds"/> + <desc> + <p> + <c><![CDATA[$l | $L]]></c> + </p> + </desc> + </datatype> + + <datatype> + <name name="cancel"/> + <desc> + <p> + <c><![CDATA[$z | $Z | cancel]]></c> </p> </desc> </datatype> diff --git a/lib/megaco/src/app/megaco.erl b/lib/megaco/src/app/megaco.erl index e184179bd2..df187f8bda 100644 --- a/lib/megaco/src/app/megaco.erl +++ b/lib/megaco/src/app/megaco.erl @@ -112,6 +112,7 @@ digit_map_value/0, digit_map_kind/0, + digit_map_event/0, digit_map_letter/0, property_parm/0, @@ -178,11 +179,13 @@ segment_send | max_pdu_size. --type send_handle() :: term(). +-type send_handle() :: term(). + +-type digit_map_value() :: megaco_digit_map:value(). +-type digit_map_kind() :: megaco_digit_map:kind(). +-type digit_map_event() :: megaco_digit_map:event(). +-type digit_map_letter() :: megaco_digit_map:letter(). --type digit_map_value() :: megaco_digit_map:digit_map_value(). --type digit_map_kind() :: megaco_digit_map:kind(). --type digit_map_letter() :: megaco_digit_map:letter(). -type property_parm() :: megaco_sdp:property_parm(). -type property_group() :: megaco_sdp:property_group(). @@ -750,6 +753,11 @@ eval_digit_map(DigitMap, Timers) -> %% Send one or more events to event collector process %%----------------------------------------------------------------- +-spec report_digit_event(DigitMapEvalPid, Events) -> ok | {error, Reason} when + DigitMapEvalPid :: pid(), + Events :: digit_map_event() | [digit_map_event()], + Reason :: term(). + report_digit_event(DigitMapEvalPid, Event) -> megaco_digit_map:report(DigitMapEvalPid, Event). diff --git a/lib/megaco/src/engine/megaco_digit_map.erl b/lib/megaco/src/engine/megaco_digit_map.erl index 45a0fc7501..3b262c1121 100644 --- a/lib/megaco/src/engine/megaco_digit_map.erl +++ b/lib/megaco/src/engine/megaco_digit_map.erl @@ -61,18 +61,28 @@ -export([test_eval/2]). % Internal -export_type([ - digit_map_value/0, + value/0, kind/0, - letter/0 + event/0, + letter/0, + pause/0, + one_second/0, + ten_seconds/0, + cancel/0 ]). -include_lib("megaco/src/app/megaco_internal.hrl"). -include("megaco_message_internal.hrl"). -include_lib("megaco/src/text/megaco_text_tokens.hrl"). --type digit_map_value() :: #'DigitMapValue'{}. +-type value() :: #'DigitMapValue'{}. -type kind() :: full | unambiguous. --type letter() :: $0..$9 | $a .. $k. +-type event() :: letter() | pause() | cancel(). +-type letter() :: $0 .. $9 | $a .. $k | $A .. $K. +-type pause() :: one_second() | ten_seconds(). +-type one_second() :: $s | $S. +-type ten_seconds() :: $l | $L. +-type cancel() :: $z | $Z | cancel. -record(state_transition, {mode, next, cont}). -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor