cosfiletransfer_directory_impl.erl
来自「OTP是开放电信平台的简称」· ERL 代码 · 共 451 行 · 第 1/2 页
ERL
451 行
%% 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%%======================================================================
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?