diff options
Diffstat (limited to 'lib/cosNotification/test/notify_test_impl.erl')
-rw-r--r-- | lib/cosNotification/test/notify_test_impl.erl | 300 |
1 files changed, 0 insertions, 300 deletions
diff --git a/lib/cosNotification/test/notify_test_impl.erl b/lib/cosNotification/test/notify_test_impl.erl deleted file mode 100644 index 6c833f4915..0000000000 --- a/lib/cosNotification/test/notify_test_impl.erl +++ /dev/null @@ -1,300 +0,0 @@ -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1999-2016. All Rights Reserved. -%% -%% Licensed under the Apache License, Version 2.0 (the "License"); -%% you may not use this file except in compliance with the License. -%% You may obtain a copy of the License at -%% -%% http://www.apache.org/licenses/LICENSE-2.0 -%% -%% Unless required by applicable law or agreed to in writing, software -%% distributed under the License is distributed on an "AS IS" BASIS, -%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -%% See the License for the specific language governing permissions and -%% limitations under the License. -%% -%% %CopyrightEnd% -%% -%% -%%---------------------------------------------------------------------- -%% File : notify_test_impl.erl -%%---------------------------------------------------------------------- - --module(notify_test_impl). - --include_lib("orber/include/corba.hrl"). --include("idl_output/notify_test.hrl"). - -%%--------------- specified functions ------------------------ --export([stop_normal/2, - stop_brutal/2, - print/2, - doAction/3, - delay/5, - %% Exports from CosNotifyComm::StructuredPushConsumer - push_structured_event/3, disconnect_structured_push_consumer/2, - %% Exports from "CosNotifyComm::SequencePushConsumer" - push_structured_events/3, disconnect_sequence_push_consumer/2, - %% Exports from CosEventComm::PushConsumer - push/3, disconnect_push_consumer/2, - %% Exports from CosNotifyComm::NotifyPublish - disconnect_sequence_pull_consumer/2, - %% Exports from CosNotifyComm::StructuredPullConsumer - disconnect_structured_pull_consumer/2, - %% Exports from CosEventComm::PullConsumer - disconnect_pull_consumer/2, - %% Exports from CosNotifyComm::SequencePushSupplier - disconnect_sequence_push_supplier/2, - %% Exports from CosNotifyComm::StructuredPushSupplier - disconnect_structured_push_supplier/2, - %% Exports from CosEventComm::PushSupplier - disconnect_push_supplier/2, - %% Exports from CosNotifyComm::SequencePullSupplier - pull_structured_events/3, - try_pull_structured_events/3, - disconnect_sequence_pull_supplier/2, - %% Exports from CosNotifyComm::StructuredPullSupplier - pull_structured_event/2, - try_pull_structured_event/2, - disconnect_structured_pull_supplier/2, - %% Exports from CosEventComm::PullSupplier - pull/2, - try_pull/2, - disconnect_pull_supplier/2, - %% Exports from CosNotifyComm::SequencePullConsumer - offer_change/4, - %% Exports from CosNotifyComm::NotifySubscribe - subscription_change/4]). - -%%--------------- gen_server specific ------------------------ --export([init/1, terminate/2]). --export([handle_call/3, handle_cast/2, handle_info/2, code_change/3]). -%% Data structures --record(state, {myType, proxy, data, action}). - -%%--------------- LOCAL DATA --------------------------------- - -%%------------------------------------------------------------ -%% function : init, terminate -%%------------------------------------------------------------ -init([MyType, Proxy]) -> - process_flag(trap_exit,true), - {ok, #state{myType=MyType, proxy=Proxy, data=[]}}. - -terminate(Reason, State) -> - io:format("notify_test:terminate(~p ~p)~n",[Reason, State#state.myType]), - ok. - -code_change(_OldVsn, State, _Extra) -> - {ok, State}. -handle_call(_,_, State) -> - {noreply, State}. -handle_cast(_, State) -> - {noreply, State}. -handle_info(_Info, State) -> - {noreply, State}. - -%%--------------- SERVER FUNCTIONS --------------------------- - -print(Self, State) -> - io:format("notify_test:print(~p ~p)~n",[Self, State]), - {reply, ok, State}. - -doAction(_Self, State, {set_data, Data}) -> - io:format("notify_test:doAction(add_data) ~p~n",[Data]), - {reply, ok, State#state{data=Data}}; -doAction(_Self, State, {add_data, Data}) -> - io:format("notify_test:doAction(add_data) ~p~n",[Data]), - {reply, ok, State#state{data=State#state.data++Data}}; -doAction(_Self, State, return_data) -> - io:format("notify_test:doAction(return_data)~n",[]), - {reply, State#state.data, State#state{data=[]}}; -doAction(_Self, State, clear_data) -> - io:format("notify_test:doAction(return_data)~n",[]), - {reply, ok, State#state{data=[]}}; -doAction(_Self, State, pull_any) -> - io:format("notify_test:doAction(pull_any)~n",[]), - Event='CosNotifyChannelAdmin_ProxyPullSupplier':pull(State#state.proxy), - {reply, Event, State}; -doAction(_Self, State, {pull_seq, Max}) -> - io:format("notify_test:doAction(pull_sequence)~n",[]), - Event='CosNotifyChannelAdmin_SequenceProxyPullSupplier':pull_structured_events(State#state.proxy, Max), - {reply, Event, State}; -doAction(_Self, State, pull_str) -> - Event='CosNotifyChannelAdmin_StructuredProxyPullSupplier':pull_structured_event(State#state.proxy), - io:format("notify_test:doAction(pull_structured)~n",[]), - {reply, Event, State}; -doAction(_Self, State, try_pull_any) -> - io:format("notify_test:doAction(try_pull_any)~n",[]), - Event='CosNotifyChannelAdmin_ProxyPullSupplier':try_pull(State#state.proxy), - {reply, Event, State}; -doAction(_Self, State, {try_pull_seq, Max}) -> - io:format("notify_test:doAction(try_pull_sequence)~n",[]), - Event='CosNotifyChannelAdmin_SequenceProxyPullSupplier':try_pull_structured_events(State#state.proxy, Max), - {reply, Event, State}; -doAction(_Self, State, try_pull_str) -> - Event='CosNotifyChannelAdmin_StructuredProxyPullSupplier':try_pull_structured_event(State#state.proxy), - io:format("notify_test:doAction(try_pull_structured)~n",[]), - {reply, Event, State}; -doAction(_Self, State, {action, Action}) -> - io:format("notify_test:doAction(~p)~n",[Action]), - {reply, ok, State#state{action = Action}}; - -doAction(_, State, _) -> - {reply, nop, State}. - -stop_normal(_Self, State) -> - {stop, normal, ok, State}. - -stop_brutal(_Self, _State) -> - exit("killed_brutal"). - - - -%%--------------- CosNotifyComm::NotifyPublish -------- -offer_change(_Self, State, Added, Removed) -> - ND=loop(Removed, State#state.data), - ND2=Added++ND, - {reply, ok, State#state{data=ND2}}. - -loop([],Data) -> - Data; -loop([H|T], Data) -> - ND=lists:delete(H,Data), - loop(T, ND). - -%%--------------- CosNotifyComm::NotifySubscribe -------- -subscription_change(_Self, State, Added, Removed) -> - ND=loop(Removed, State#state.data), - ND2=Added++ND, - {reply, ok, State#state{data=ND2}}. - -%%--------------- CosNotifyComm::SequencePushConsumer -------- -push_structured_events(_Self, #state{action = undefined} = State, Event) -> - io:format("notify_test:push_structured_events(~p)~n",[Event]), - {reply, ok, State#state{data=State#state.data++Event}}; -push_structured_events(_Self, #state{action = Action} = State, Event) -> - io:format("notify_test:push_structured_events(~p)~nAction: ~p~n", - [Event, Action]), - corba:raise(#'INTERNAL'{completion_status=?COMPLETED_NO}), - {reply, ok, State#state{data=State#state.data++Event}}. -disconnect_sequence_push_consumer(_Self, State) -> - io:format("disconnect_sequence_push_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::StructuredPushConsumer -------- -push_structured_event(_Self, State, Event) -> - io:format("notify_test:push_structured_event(~p)~n",[Event]), - {reply, ok, State#state{data=State#state.data++[Event]}}. -disconnect_structured_push_consumer(_Self, State) -> - io:format("disconnect_structured_push_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosEventComm::PushConsumer -------- -push(_Self, State, Event) -> - io:format("notify_test:push(~p)~n",[Event]), - {reply, ok, State#state{data=State#state.data++[Event]}}. -disconnect_push_consumer(_Self, State) -> - io:format("disconnect_push_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::SequencePullConsumer -------- -disconnect_sequence_pull_consumer(_Self, State) -> - io:format("disconnect_sequence_pull_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::StructuredPullConsumer -------- -disconnect_structured_pull_consumer(_Self, State) -> - io:format("disconnect_structured_pull_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosEventComm::PullConsumer -------- -disconnect_pull_consumer(_Self, State) -> - io:format("disconnect_pull_consumer~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::SequencePushSupplier -------- -disconnect_sequence_push_supplier(_Self, State) -> - io:format("disconnect_sequence_push_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::StructuredPushSupplier -------- -disconnect_structured_push_supplier(_Self, State) -> - io:format("disconnect_structured_push_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosEventComm::PushSupplier -------- -disconnect_push_supplier(_Self, State) -> - io:format("disconnect_push_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::SequencePullSupplier -------- -pull_structured_events(_Self, State, _Max) -> - io:format("notify_test:pullstructured_events()~n",[]), - {reply, ok, State}. -try_pull_structured_events(_Self, State, Max) -> - io:format("notify_test:try_pull_structured_events()~n",[]), - case State#state.data of - [] -> - {reply, {[],false}, State}; - List -> - R = split(List,Max), - {reply, {lists:sublist(List, Max), true}, State#state{data=R}} - end. - -split([],_) -> - []; -split(R,0) -> - R; -split([_H|T],Max) -> - split(T, Max-1). - -disconnect_sequence_pull_supplier(_Self, State) -> - io:format("disconnect_sequence_pull_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosNotifyComm::StructuredPullSupplier -------- -pull_structured_event(_Self, State) -> - io:format("notify_test:pull_structured_event()~n",[]), - {reply, ok, State}. -try_pull_structured_event(_Self, State) -> - io:format("notify_test:try_pull_structured_event()~n",[]), - case State#state.data of - [] -> - {reply, {[],false}, State}; - [H|T] -> - {reply, {H, true}, State#state{data=T}} - end. -disconnect_structured_pull_supplier(_Self, State) -> - io:format("disconnect_structured_pull_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- CosEventComm::PullSupplier -------- -pull(_Self, State) -> - io:format("notify_test:pull()~n",[]), - {reply, 'CosEventComm_PullSupplier':pull(State#state.proxy), State}. -try_pull(_Self, State) -> - io:format("notify_test:try_pull()~n",[]), - case State#state.data of - [] -> - {reply, {[],false}, State}; - [H|T] -> - {reply, {H, true}, State#state{data=T}} - end. -disconnect_pull_supplier(_Self, State) -> - io:format("disconnect_pull_supplier~n",[]), - {stop, normal, ok, State}. - -%%--------------- LOCAL FUNCTIONS ---------------------------- - -delay(Obj, Event, Time, Mod, F) -> - io:format("notify_test:delay(~p) TIME: ~p~n",[Event, erlang:timestamp()]), - timer:sleep(Time), - Mod:F(Obj, Event), - io:format("notify_test:delay() DONE: ~p~n",[erlang:timestamp()]), - ok. - -%%--------------- END OF MODULE ------------------------------ - |