aboutsummaryrefslogtreecommitdiffstats
path: root/lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl
diff options
context:
space:
mode:
authorNiclas Eklund <[email protected]>2011-02-17 14:09:39 +0100
committerNiclas Eklund <[email protected]>2011-02-17 14:09:39 +0100
commitcc147b3b7f9cde5a521d42e50bce8464597a4965 (patch)
tree7b9a6e3862a4d4d7b413cd972d9fc47b15ab2524 /lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl
parentf5a6e678c9044896782230368ff8de266bfd9415 (diff)
downloadotp-cc147b3b7f9cde5a521d42e50bce8464597a4965.tar.gz
otp-cc147b3b7f9cde5a521d42e50bce8464597a4965.tar.bz2
otp-cc147b3b7f9cde5a521d42e50bce8464597a4965.zip
More specs removed.
Diffstat (limited to 'lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl')
-rw-r--r--lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl26
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl b/lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl
index ddff0f8632..f5dd6d5c14 100644
--- a/lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl
+++ b/lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl
@@ -778,14 +778,17 @@ get_qos(_OE_This, #state{cyclic = Cyclic, diamonds = Diamonds} = State) ->
%%----------------------------------------------------------------------
set_qos(_OE_This, State, NewQoS) ->
QoS = cosEventDomainApp:get_qos(NewQoS),
- set_qos_helper(QoS, State, []).
+ case set_qos_helper(QoS, State, []) of
+ {ok, NewState} ->
+ {reply, ok, NewState};
+ {error, Errors} ->
+ corba:raise(#'CosNotification_UnsupportedQoS'{qos_err = Errors})
+ end.
-%% To avoid dialyzer warnings due to the use of exit/throw.
--spec(set_qos_helper/3 :: (_, _, _) -> no_return()).
set_qos_helper([], State, []) ->
- {reply, ok, State};
+ {ok, State}; %{reply, ok, State};
set_qos_helper([], _, Errors) ->
- corba:raise(#'CosNotification_UnsupportedQoS'{qos_err = Errors});
+ {error, Errors};
set_qos_helper([{?DiamondDetection, Diamonds}|T], #state{diamonds = Diamonds} = State,
Errors) ->
set_qos_helper(T, State, Errors);
@@ -830,14 +833,17 @@ set_qos_helper([{?CycleDetection, _}|T], #state{cyclic = Cyclic} = State, Errors
%%----------------------------------------------------------------------
validate_qos(_OE_This, State, WantedQoS) ->
QoS = cosEventDomainApp:get_qos(WantedQoS),
- {reply, {ok, validate_qos_helper(QoS, State, [], [])}, State}.
+ case validate_qos_helper(QoS, State, [], []) of
+ {ok, Properties} ->
+ {reply, {ok, Properties}, State};
+ {error, Errors} ->
+ corba:raise(#'CosNotification_UnsupportedQoS'{qos_err = Errors})
+ end.
-%% To avoid dialyzer warnings due to the use of exit/throw.
--spec(validate_qos_helper/4 :: (_, _, _, _) -> no_return()).
validate_qos_helper([], _, Properties, []) ->
- Properties;
+ {ok, Properties};
validate_qos_helper([], _, _, Errors) ->
- corba:raise(#'CosNotification_UnsupportedQoS'{qos_err = Errors});
+ {error, Errors};
validate_qos_helper([{?DiamondDetection, ?ForbidDiamonds}|T], State, Properties,
Errors) ->
case get_diamonds_helper(State, false) of