diff options
Diffstat (limited to 'lib/cosTransactions/src/CosTransactions_TransactionFactory_impl.erl')
-rw-r--r-- | lib/cosTransactions/src/CosTransactions_TransactionFactory_impl.erl | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/lib/cosTransactions/src/CosTransactions_TransactionFactory_impl.erl b/lib/cosTransactions/src/CosTransactions_TransactionFactory_impl.erl deleted file mode 100644 index e24bcb9a04..0000000000 --- a/lib/cosTransactions/src/CosTransactions_TransactionFactory_impl.erl +++ /dev/null @@ -1,180 +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 : CosTransactions_TransactionFactory_impl.erl -%% Purpose : Is provided to allow the transaction originator to begin -%% a transaction. -%%---------------------------------------------------------------------- - --module('CosTransactions_TransactionFactory_impl'). - -%%--------------- INCLUDES ----------------------------------- --include_lib("orber/include/corba.hrl"). - -%% Local --include_lib("ETraP_Common.hrl"). --include_lib("CosTransactions.hrl"). -%%--------------- IMPORTS------------------------------------- --import('ETraP_Common', [get_option/3]). - -%%--------------- EXPORTS------------------------------------- --export([create/3, recreate/3, init/1, terminate/2]). --export([handle_call/3, handle_cast/2, handle_info/2, code_change/3]). - -%%--------------- LOCAL DATA --------------------------------- --record(factory, {hashMax, subtrOK, typeCheck, maxRetries, comFailWait}). - -%%--------------- LOCAL DEFINITIONS -------------------------- - -%%------------------------------------------------------------ -%% function : init -%% Arguments: -%% Returns : -%% Effect : Functions demanded by the module ic. Used to initiate -%% a gen_server. -%%------------------------------------------------------------ - -init(Options) when is_list(Options) -> - ?debug_print("Factory:init(~p)~n", [Options]), - process_flag(trap_exit,true), - DefaultValues = [{maxRetries, ?tr_max_retries}, - {comFailWait, ?tr_comm_failure_wait}|?tr_FAC_DEF], - Hash = get_option(hash_max, Options, DefaultValues), - SubtrOK = get_option(allow_subtr, Options, DefaultValues), - TypeCheck = get_option(typecheck, Options, DefaultValues), - TTY = get_option(tty, Options, DefaultValues), - LogFile = get_option(logfile, Options, DefaultValues), - MaxRetries = get_option(maxRetries, Options, DefaultValues), - ComFailWait = get_option(comFailWait, Options, DefaultValues), - error_logger:tty(TTY), - case LogFile of - false -> - ok; - _-> - error_logger:logfile({open, LogFile}) - end, - {ok, #factory{typeCheck = TypeCheck, hashMax = Hash, subtrOK = SubtrOK, - maxRetries = MaxRetries, comFailWait = ComFailWait}}; - -init(Options) -> - ?tr_error_msg("TransactionFactory~nBad argument: ~p~n", [Options]), - corba:raise(?tr_badparam). - - -%%------------------------------------------------------------ -%% function : terminate -%% Arguments: -%% Returns : -%% Effect : Function demanded by the module ic. Used to -%% terminate a gen_server. -%%------------------------------------------------------------ - -terminate(_Reason, _State) -> - ?debug_print("Factory:terminate(~p)~n", [_Reason]), - ok. - -%%------------------------------------------------------------ -%% function : handle_call, handle_cast, handle_info, code_change -%% Arguments: -%% Returns : -%% Effect : Functions demanded by the module ic. -%%------------------------------------------------------------ - -code_change(_OldVsn, State, _Extra) -> - {ok, State}. - -handle_call(_,_, State) -> - {noreply, State}. - - -handle_cast(_, State) -> - {noreply, State}. - - -handle_info({'EXIT',_From,shutdown}, State) -> - ?debug_print("Factory:handle_info(~p)~n", [shutdown]), - {stop, shutdown, State}; -handle_info(_Info, State) -> - ?debug_print("Factory:handle_info(~p)~n", [_Info]), - {noreply, State}. - -%%------------------------------------------------------------ -%% function : create -%% Arguments: TimeOut - rollback the transaction after TimeOut -%% seconds. If 0 no timeout. -%% Returns : a Control object -%% Effect : Creates a new top-level transaction. The Control -%% can be used to manage or control participation -%% in the new transaction. Used for direct context -%% management. -%%------------------------------------------------------------ - -create(_Self, State, TimeOut) when is_integer(TimeOut) -> - %% Generate objectnames. - ETraPName = 'ETraP_Common':create_name("root"), - TermName = 'ETraP_Common':create_name("term"), - EState = ?tr_create_context(ETraPName, TermName, - State#factory.typeCheck, - State#factory.hashMax, - State#factory.subtrOK, - State#factory.maxRetries, - State#factory.comFailWait), - - case TimeOut of - 0 -> - ETraP = ?tr_start_child(?SUP_ETRAP(EState)), - {reply, ETraP, State}; - _ -> - if - TimeOut > 0 -> - TimeStampSec = erlang:monotonic_time(seconds), - EState2 = ?tr_set_alarm(EState, TimeStampSec+TimeOut), - EState3 = ?tr_set_timeout(EState2, TimeOut*1000), - ETraP = ?tr_start_child(?SUP_ETRAP(EState3)), - {reply, ETraP, State}; - true -> - ?tr_error_msg("TransactionFactory:create( Integer >= 0 )~nBad argument. Not an integer.~n", []), - corba:raise(?tr_badparam) - end - end; - -create(_Self, _State, _TimeOut) -> - ?tr_error_msg("TransactionFactory:create( Integer >= 0 )~nBad argument. Not an integer.~n", []), - corba:raise(?tr_badparam). - - -%%------------------------------------------------------------ -%% function : recreate -%% Arguments: PropagationContext -%% Returns : a Control object -%% Effect : -%%------------------------------------------------------------ - --spec recreate(_, _, _) -> no_return(). -recreate(_Self, _State, #'CosTransactions_PropagationContext'{current = _C}) -> - corba:raise(#'NO_IMPLEMENT'{completion_status=?COMPLETED_YES}). -%recreate(Self, State, #'CosTransactions_PropagationContext'{current = C}) -> -% {reply, C#'CosTransactions_TransIdentity'.coord, State}. - - -%%--------------- END OF MODULE ------------------------------ - |