diff options
Diffstat (limited to 'lib/cosFileTransfer/src/CosFileTransfer_Directory_impl.erl')
-rw-r--r-- | lib/cosFileTransfer/src/CosFileTransfer_Directory_impl.erl | 453 |
1 files changed, 0 insertions, 453 deletions
diff --git a/lib/cosFileTransfer/src/CosFileTransfer_Directory_impl.erl b/lib/cosFileTransfer/src/CosFileTransfer_Directory_impl.erl deleted file mode 100644 index 8ce6cebf77..0000000000 --- a/lib/cosFileTransfer/src/CosFileTransfer_Directory_impl.erl +++ /dev/null @@ -1,453 +0,0 @@ -%%---------------------------------------------------------------------- -%% -%% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2000-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 : CosFileTransfer_Directory_impl -%% Description : -%% -%% Created : 12 Sept 2000 -%%---------------------------------------------------------------------- --module('CosFileTransfer_Directory_impl'). - -%%---------------------------------------------------------------------- -%% Include files -%%---------------------------------------------------------------------- --include_lib("orber/include/corba.hrl"). --include_lib("orber/src/orber_iiop.hrl"). - --include_lib("cosProperty/include/CosPropertyService.hrl"). - --include("cosFileTransferApp.hrl"). - -%%---------------------------------------------------------------------- -%% External exports -%%---------------------------------------------------------------------- --export([init/1, - terminate/2]). - -%% Interface functions --export([list/3]). - -%% Inherited CosFileTransfer::File --export(['_get_name'/2, - '_get_complete_file_name'/2, - '_get_parent'/2, - '_get_associated_session'/2]). - -%% Inherited CosPropertyService::PropertySetDef --export([get_allowed_property_types/2, - get_allowed_properties/2, - define_property_with_mode/5, - define_properties_with_modes/3, - get_property_mode/3, - get_property_modes/3, - set_property_mode/4, - set_property_modes/3]). - -%% Inherited CosPropertyService::PropertySet --export([define_property/4, - define_properties/3, - get_number_of_properties/2, - get_all_property_names/3, - get_property_value/3, - get_properties/3, - get_all_properties/3, - delete_property/3, - delete_properties/3, - delete_all_properties/2, - is_property_defined/3]). - -%%---------------------------------------------------------------------- -%% Internal exports -%%---------------------------------------------------------------------- - -%%---------------------------------------------------------------------- -%% Records -%%---------------------------------------------------------------------- --record(state, {property, - name, - completeName, - parent, - assocSession}). - -%%---------------------------------------------------------------------- -%% Macros -%%---------------------------------------------------------------------- --define(create_InitState(Pr, N, C, Pa, A), - #state{property = Pr, - name = N, - completeName = C, - parent = Pa, - assocSession = A}). - --define(get_PropertyRef(S), S#state.property). --define(get_Name(S), S#state.name). --define(get_CompleteName(S), S#state.completeName). --define(get_Parent(S), S#state.parent). --define(get_AssocSession(S), S#state.assocSession). - -%%====================================================================== -%% External functions -%%====================================================================== -%%---------------------------------------------------------------------- -%% Function : init/1 -%% Returns : {ok, State} | -%% {ok, State, Timeout} | -%% ignore | -%% {stop, Reason} -%% Description: Initiates the server -%%---------------------------------------------------------------------- -init([Name, CompleteName, Parent, AssocSession]) -> - PropTypes = [tk_long, tk_boolean], - %% WARNING if the order of the properties is changed so must - %% get_all_properties/3 in this module be as well! - PropDefs = [#'CosPropertyService_PropertyDef' - {property_name = "num_children", - property_value = #any{typecode=tk_long, value=0}, - property_mode = fixed_readonly}, - #'CosPropertyService_PropertyDef' - {property_name = "is_directory", - property_value = #any{typecode=tk_boolean, value=true}, - property_mode = fixed_readonly}], - Prop = cosProperty:create_static_SetDef(PropTypes, PropDefs), - {ok, ?create_InitState(Prop, Name, CompleteName, Parent, AssocSession)}. - -%%---------------------------------------------------------------------- -%% Function : terminate/2 -%% Returns : any (ignored by gen_server) -%% Description: Shutdown the server -%%---------------------------------------------------------------------- -terminate(_Reason, _State) -> - ok. - -%%====================================================================== -%% CosFileTransfer::Directory -%%====================================================================== -%%---------------------------------------------------------------------- -%% Function : list -%% Arguments : Max - ulong() -%% Returns : {ok, FileList, FileIterator} -%% Description: -%%---------------------------------------------------------------------- -list(OE_This, State, Max) -> - case 'CosFileTransfer_FileTransferSession': - oe_orber_get_content(?get_AssocSession(State), ?get_CompleteName(State), - OE_This) of - [] -> - {reply, {ok, [], corba:create_nil_objref()}, State}; - FileList when length(FileList) > Max -> - {reply, - {ok, lists:sublist(FileList, Max), - 'CosFileTransfer_FileIterator':oe_create([lists:nthtail(Max, - FileList)])}, - State}; - FileList -> - {reply, {ok, FileList, corba:create_nil_objref()}, State} - end. - -%%====================================================================== -%% CosFileTransfer::File -%%====================================================================== -%%---------------------------------------------------------------------% -%% Function : '_get_name' -%% Arguments : - -%% Returns : CosFileTransfer::FileName - string -%% Description: -%%---------------------------------------------------------------------- -'_get_name'(_OE_This, State) -> - {reply, ?get_Name(State), State}. - -%%---------------------------------------------------------------------% -%% Function : '_get_complete_file_name' -%% Arguments : - -%% Returns : CosFileTransfer::FileNameList - a list of strings's -%% Description: -%%---------------------------------------------------------------------- -'_get_complete_file_name'(_OE_This, State) -> - {reply, ?get_CompleteName(State), State}. - -%%---------------------------------------------------------------------% -%% Function : '_get_parent' -%% Arguments : - -%% Returns : CosFileTransfer::Directory -%% Description: -%%---------------------------------------------------------------------- -'_get_parent'(_OE_This, State) -> - {reply, ?get_Parent(State), State}. - -%%---------------------------------------------------------------------% -%% Function : '_get_associated_session' -%% Arguments : - -%% Returns : CosFileTransfer::FileTransferSession -%% Description: -%%---------------------------------------------------------------------- -'_get_associated_session'(_OE_This, State) -> - {reply, ?get_AssocSession(State), State}. - -%%====================================================================== -%% CosPropertyService::PropertySetDef -%%====================================================================== -%%---------------------------------------------------------------------% -%% Function : get_allowed_property_types -%% Arguments : - -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_allowed_property_types(_OE_This, State) -> - {reply, 'CosPropertyService_PropertySetDef': - get_allowed_property_types(?get_PropertyRef(State)), State}. - -%%---------------------------------------------------------------------% -%% Function : get_allowed_properties -%% Arguments : - -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_allowed_properties(_OE_This, State) -> - {reply, 'CosPropertyService_PropertySetDef': - get_allowed_properties(?get_PropertyRef(State)), State}. - -%%---------------------------------------------------------------------% -%% Function : define_property_with_mode -%% Arguments : Name - string() -%% Value - #any{} -%% Mode - normal | read_only | fixed_normal | fixed_readonly -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -define_property_with_mode(_OE_This, State, Name, Value, Mode) -> - {reply, 'CosPropertyService_PropertySetDef': - define_property_with_mode(?get_PropertyRef(State), Name, Value, Mode), State}. - -%%---------------------------------------------------------------------% -%% Function : define_properties_with_modes -%% Arguments : PropertyDefs - list of #'CosPropertyService_PropertyDef'{} -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -define_properties_with_modes(_OE_This, State, PropertyDefs) -> - {reply, 'CosPropertyService_PropertySetDef': - define_properties_with_modes(?get_PropertyRef(State), PropertyDefs), State}. - -%%---------------------------------------------------------------------% -%% Function : get_property_mode -%% Arguments : Name - string() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_property_mode(_OE_This, State, Name) -> - {reply, 'CosPropertyService_PropertySetDef': - get_property_mode(?get_PropertyRef(State), Name), State}. - - -%%---------------------------------------------------------------------% -%% Function : get_property_modes -%% Arguments : Names - a list of Name (i.e. string()'s). -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_property_modes(_OE_This, State, Names) -> - {reply, 'CosPropertyService_PropertySetDef': - get_property_modes(?get_PropertyRef(State), Names), State}. - -%%---------------------------------------------------------------------% -%% Function : set_property_mode -%% Arguments : Name - string() -%% Mode - normal | read_only | fixed_normal | fixed_readonly -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -set_property_mode(_OE_This, State, Name, Mode) -> - {reply, 'CosPropertyService_PropertySetDef': - set_property_mode(?get_PropertyRef(State), Name, Mode), State}. - - -%%---------------------------------------------------------------------% -%% Function : set_property_modes -%% Arguments : Modes - a list of #'CosPropertyService_PropertyModes'{} -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -set_property_modes(_OE_This, State, PropertyModes) -> - {reply, 'CosPropertyService_PropertySetDef': - set_property_modes(?get_PropertyRef(State), PropertyModes), State}. - -%%====================================================================== -%% CosPropertyService::PropertySet -%%====================================================================== -%%---------------------------------------------------------------------% -%% Function : define_property -%% Arguments : Name - string() -%% Value - #any{} -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -define_property(_OE_This, State, Name, Value) -> - {reply, 'CosPropertyService_PropertySet': - define_property(?get_PropertyRef(State), Name, Value), State}. - -%%---------------------------------------------------------------------% -%% Function : define_properties -%% Arguments : Properties - a list of #'CosPropertyService_Property'{} -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -define_properties(_OE_This, State, Properties) -> - {reply, 'CosPropertyService_PropertySet': - define_properties(?get_PropertyRef(State), Properties), State}. - - -%%---------------------------------------------------------------------% -%% Function : get_number_of_properties -%% Arguments : - -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_number_of_properties(_OE_This, State) -> - {reply, 'CosPropertyService_PropertySet': - get_number_of_properties(?get_PropertyRef(State)), State}. - -%%---------------------------------------------------------------------% -%% Function : get_all_property_names -%% Arguments : Max - ulong() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_all_property_names(_OE_This, State, Max) -> - {reply, 'CosPropertyService_PropertySet': - get_all_property_names(?get_PropertyRef(State), Max), State}. - -%%---------------------------------------------------------------------% -%% Function : get_property_value -%% Arguments : Name - string() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_property_value(_OE_This, State, "num_children") -> - Count = 'CosFileTransfer_FileTransferSession': - oe_orber_count_children(?get_AssocSession(State), ?get_CompleteName(State)), - {reply, #any{typecode=tk_long, value=Count}, State}; -get_property_value(_OE_This, State, Name) -> - {reply, 'CosPropertyService_PropertySet': - get_property_value(?get_PropertyRef(State), Name), State}. - -%%---------------------------------------------------------------------% -%% Function : get_properties -%% Arguments : Names - a list of Name (i.e. string()'s) -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_properties(_OE_This, State, Names) -> - {Bool, Props} = - 'CosPropertyService_PropertySet':get_properties(?get_PropertyRef(State), - Names), - NewProps = change_property(Props, [], State), - {reply, {Bool, NewProps}, State}. - -change_property([], Acc, _State) -> - Acc; -change_property([H|T], Acc, State) -> - NewAcc = - case H of - #'CosPropertyService_Property'{property_name = "num_children"} -> - Count = 'CosFileTransfer_FileTransferSession': - oe_orber_count_children(?get_AssocSession(State), - ?get_CompleteName(State)), - [H#'CosPropertyService_Property' - {property_value = #any{typecode=tk_long, value=Count}}|Acc]; - _ -> - [H|Acc] - end, - change_property(T, NewAcc, State). - -%%---------------------------------------------------------------------% -%% Function : get_all_properties -%% Arguments : Max - ulong() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -get_all_properties(_OE_This, State, 0) -> - %% WARNING if we start supporting more than 10 Properties the next line must - %% be updated! - {ok, Props, _Iterator} = - 'CosPropertyService_PropertySet':get_all_properties(?get_PropertyRef(State), - 10), - NewProps = change_property(Props, [], State), - %% WARNING if the cosProperty:start_PropertiesIterator/1 is updated - %% it must be done hear as well. - {reply, {ok, [], cosProperty:start_PropertiesIterator(NewProps)}, State}; -get_all_properties(_OE_This, State, Max) -> - {ok, Props, Iterator} = - 'CosPropertyService_PropertySet':get_all_properties(?get_PropertyRef(State), - Max), - NewProps = change_property(Props, [], State), - {reply, {ok, NewProps, Iterator}, State}. - -%%---------------------------------------------------------------------% -%% Function : delete_property -%% Arguments : Name - string() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -delete_property(_OE_This, State, Name) -> - {reply, 'CosPropertyService_PropertySet': - delete_property(?get_PropertyRef(State), Name), State}. - - -%%---------------------------------------------------------------------% -%% Function : delete_properties -%% Arguments : Names - a list of Name (i.e. string()'s) -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -delete_properties(_OE_This, State, Names) -> - {reply, 'CosPropertyService_PropertySet': - delete_properties(?get_PropertyRef(State), Names), State}. - - -%%---------------------------------------------------------------------% -%% Function : delete_all_properties -%% Arguments : - -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -delete_all_properties(_OE_This, State) -> - {reply, 'CosPropertyService_PropertySet': - delete_all_properties(?get_PropertyRef(State)), State}. - -%%---------------------------------------------------------------------% -%% Function : is_property_defined -%% Arguments : Name - string() -%% Returns : See cosProperty application. -%% Description: -%%---------------------------------------------------------------------- -is_property_defined(_OE_This, State, Name) -> - {reply, 'CosPropertyService_PropertySet': - is_property_defined(?get_PropertyRef(State), Name), State}. - -%%====================================================================== -%% Internal functions -%%====================================================================== - -%%====================================================================== -%% END OF MODULE -%%====================================================================== - |