diff options
Diffstat (limited to 'lib/snmp/test/snmp_manager_user_old.erl')
-rwxr-xr-x | lib/snmp/test/snmp_manager_user_old.erl | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/lib/snmp/test/snmp_manager_user_old.erl b/lib/snmp/test/snmp_manager_user_old.erl new file mode 100755 index 0000000000..b53514d699 --- /dev/null +++ b/lib/snmp/test/snmp_manager_user_old.erl @@ -0,0 +1,264 @@ +%% +%% %CopyrightBegin% +%% +%% Copyright Ericsson AB 2009. All Rights Reserved. +%% +%% The contents of this file are subject to the Erlang Public License, +%% Version 1.1, (the "License"); you may not use this file except in +%% compliance with the License. You should have received a copy of the +%% Erlang Public License along with this software. If not, it can be +%% retrieved online at http://www.erlang.org/. +%% +%% Software distributed under the License is distributed on an "AS IS" +%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +%% the License for the specific language governing rights and limitations +%% under the License. +%% +%% %CopyrightEnd% +%% + +%%---------------------------------------------------------------------- +%% Purpose: Utility functions for the (snmp manager) user test(s). +%%---------------------------------------------------------------------- + +-module(snmp_manager_user_old). + +-behaviour(snmpm_user_old). + + +%%---------------------------------------------------------------------- +%% Include files +%%---------------------------------------------------------------------- +-include("test_server.hrl"). +-include("snmp_test_lib.hrl"). + + +%%---------------------------------------------------------------------- +%% External exports +%%---------------------------------------------------------------------- +-export([ + start/0, start/1, + stop/0, + register_agent/1, register_agent/2, register_agent/3, + unregister_agent/1, unregister_agent/2, + agent_info/3, + update_agent_info/4, + which_agents/0, which_users/0, + load_mib/1, unload_mib/1, + sync_get/2, sync_get/3, + async_get/2, async_get/3, + sync_get_next/2, sync_get_next/3, + async_get_next/2, async_get_next/3, + sync_set/2, sync_set/3, + async_set/2, async_set/3, + sync_get_bulk/4, sync_get_bulk/5, + async_get_bulk/4, async_get_bulk/5, + name_to_oid/1, oid_to_name/1, + purify_oid/1 + ]). + +-export([ + handle_error/3, + handle_agent/4, + handle_pdu/5, + handle_trap/4, + handle_inform/4, + handle_report/4 + ]). + + +%%---------------------------------------------------------------------- +%% Internal exports +%%---------------------------------------------------------------------- + +%% -define(SERVER, ?MODULE). +-define(USER_ID, ?MODULE). + +%% -record(state, {parent, id, reqs = []}). +%% -record(request, {from, ref, tmr, req_id, type}). + + +%%---------------------------------------------------------------------- +%% The user API +%%---------------------------------------------------------------------- + +start() -> + start([]). + +start(DefaultAgentConfig) when is_list(DefaultAgentConfig) -> + snmpm:register_user(?USER_ID, ?MODULE, self(), DefaultAgentConfig). + +stop() -> + snmpm:unregister_user(?USER_ID). + +register_agent(Addr) -> + snmpm:register_agent(?USER_ID, Addr). + +register_agent(Addr, PortOrConfig) -> + snmpm:register_agent(?USER_ID, Addr, PortOrConfig). + +register_agent(Addr, Port, Config) -> + snmpm:register_agent(?USER_ID, Addr, Port, Config). + +unregister_agent(Addr) -> + snmpm:unregister_agent(?USER_ID, Addr). + +unregister_agent(Addr, Port) -> + snmpm:unregister_agent(?USER_ID, Addr, Port). + +agent_info(Addr, Port, Item) -> + snmpm:agent_info(?USER_ID, Addr, Port, Item). + +update_agent_info(Addr, Port, Item, Val) -> + snmpm:update_agent_info(?USER_ID, Addr, Port, Item, Val). + +which_agents() -> + snmpm:which_agents(). + +which_users() -> + snmpm:which_users(). + +load_mib(Mib) -> + snmpm:load_mib(?USER_ID, Mib). + +unload_mib(Mib) -> + snmpm:unload_mib(?USER_ID, Mib). + + +%% -- + +sync_get(Addr, Oids) -> + snmpm:g(?USER_ID, Addr, Oids). + +sync_get(Addr, Port, Oids) -> + snmpm:g(?USER_ID, Addr, Port, Oids). + + +%% -- + +async_get(Addr, Oids) -> + snmpm:ag(?USER_ID, Addr, Oids). + +async_get(Addr, Port, Oids) -> + snmpm:ag(?USER_ID, Addr, Port, Oids). + + +%% -- + +sync_get_next(Addr, Oids) -> + snmpm:gn(?USER_ID, Addr, Oids). + +sync_get_next(Addr, Port, Oids) -> + snmpm:gn(?USER_ID, Addr, Port, Oids). + + +%% -- + +async_get_next(Addr, Oids) -> + snmpm:agn(?USER_ID, Addr, Oids). + +async_get_next(Addr, Port, Oids) -> + snmpm:agn(?USER_ID, Addr, Port, Oids). + + +%% -- + +sync_set(Addr, VAV) -> + snmpm:s(?USER_ID, Addr, VAV). + +sync_set(Addr, Port, VAV) -> + snmpm:s(?USER_ID, Addr, Port, VAV). + + +%% -- + +async_set(Addr, VAV) -> + snmpm:as(?USER_ID, Addr, VAV). + +async_set(Addr, Port, VAV) -> + snmpm:as(?USER_ID, Addr, Port, VAV). + + +%% -- + +sync_get_bulk(Addr, NonRep, MaxRep, Oids) -> + snmpm:gb(?USER_ID, Addr, NonRep, MaxRep, Oids). + +sync_get_bulk(Addr, Port, NonRep, MaxRep, Oids) -> + snmpm:gb(?USER_ID, Addr, Port, NonRep, MaxRep, Oids). + + +%% -- + +async_get_bulk(Addr, NonRep, MaxRep, Oids) -> + snmpm:agb(?USER_ID, Addr, NonRep, MaxRep, Oids). + +async_get_bulk(Addr, Port, NonRep, MaxRep, Oids) -> + snmpm:agb(?USER_ID, Addr, Port, NonRep, MaxRep, Oids). + + +%% -- + +name_to_oid(Name) -> + snmpm:name_to_oid(Name). + +oid_to_name(Oid) -> + snmpm:oid_to_name(Oid). + +purify_oid(Oid) -> + snmpm:purify_oid(Oid). + + +%%---------------------------------------------------------------------- +%% User callback functions: +%%---------------------------------------------------------------------- + +handle_error(ReqId, Reason, UserPid) -> + UserPid ! {handle_error, self(), ReqId, Reason}, + ignore. + + +handle_agent(Addr, Port, SnmpInfo, UserPid) -> + UserPid ! {handle_agent, self(), Addr, Port, SnmpInfo}, + ignore. + + +handle_pdu(Addr, Port, ReqId, SnmpResponse, UserPid) -> + UserPid ! {handle_pdu, self(), Addr, Port, ReqId, SnmpResponse}, + ignore. + + +handle_trap(Addr, Port, SnmpTrap, UserPid) -> + UserPid ! {handle_trap, self(), Addr, Port, SnmpTrap}, + ok. + + +handle_inform(Addr, Port, SnmpInform, UserPid) -> + UserPid ! {handle_inform, self(), Addr, Port, SnmpInform}, + receive + {handle_inform_no_response, {Addr, Port}} -> + no_reply; + {handle_inform_response, {Addr, Port}} -> + ok + end. + + +handle_report(Addr, Port, SnmpReport, UserPid) -> + UserPid ! {handle_report, self(), Addr, Port, SnmpReport}, + ok. + + +%%---------------------------------------------------------------------- +%% Debug +%%---------------------------------------------------------------------- + +%% d(F) -> +%% d(F, []). + +%% d(F, A) -> +%% d(get(debug), F, A). + +%% d(true, F, A) -> +%% io:format("~w:" ++ F ++ "~n", [?SERVER|A]); +%% d(_, _, _) -> +%% ok. |