diff options
author | Niclas Eklund <[email protected]> | 2011-02-17 14:09:39 +0100 |
---|---|---|
committer | Niclas Eklund <[email protected]> | 2011-02-17 14:09:39 +0100 |
commit | cc147b3b7f9cde5a521d42e50bce8464597a4965 (patch) | |
tree | 7b9a6e3862a4d4d7b413cd972d9fc47b15ab2524 /lib/cosEventDomain/src/CosEventDomainAdmin_EventDomain_impl.erl | |
parent | f5a6e678c9044896782230368ff8de266bfd9415 (diff) | |
download | otp-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.erl | 26 |
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 |