package org.infosec.ismp.manager.rmi.tm.discover.service.applet; import java.util.List; import java.util.Map; import org.infosec.ismp.manager.rmi.lm.pfLog.model.SystemLog; import org.infosec.ismp.manager.rmi.tm.discover.model.Node; import org.infosec.ismp.manager.rmi.tm.discover.model.NodeType; import org.infosec.ismp.manager.rmi.tm.discover.model.appletForm.SNMPAppletForm; import org.infosec.ismp.manager.rmi.tm.discover.model.typeSense.DeviceTypeRuler; /** * SNMP搜索Service接口 * @author Wu Guojie * @date 2009-6-8 * @version 1.0 */ public interface SNMPSearchService { /** * 开始搜索 */ boolean startSearch() throws Exception; /** * 结束搜索 */ boolean stoppedSearch() throws Exception; /** * 搜索 * @param snmpAppletForm * snmpAppletForm * @return 搜索结果list */ List<Node> doSearch(SNMPAppletForm snmpAppletForm) throws Exception; /** * 通过SNMP获取对应的信息 * @param ip * ip * @param port * 端口 * @param oid * oid * @param community * 团体名 * @param outTime * 超时时间 * @return 获取的结果 */ Map<String, String> getSnmpMessage(String ip, int port, String oid, String community, int outTime) throws Exception; /** * 通过id获取节点类型 * @param id * id * @return 节点类型 */ NodeType getNodeTypeById(int id) throws Exception; /** * 将节点list入库 * @param list * 节点list */ void addNodeList(List<Node> list) throws Exception; /** * 查找所有的匹配规则名 */ List<String> findAllDeviceTypeRulerName() throws Exception; /** * 通过匹配规则名称查找对应的规则 * @param name * 匹配规则名 * @return 规则list */ List<DeviceTypeRuler> findAllDeviceTypeRulersByName(String name) throws Exception; /** * 是否有人正在执行搜索功能 * @return 是/否 */ boolean isSearching() throws Exception; /** * 方法说明:获取所有AgentBO列表(数据库的) * @return */ // List<AgentBO> getAllAgentBO() throws Exception; /** * 方法说明:获取所有已经向Manager注册的AgentBO列表(邓东和数据库的交际) * @return */ // List<AgentBO> getAllRegisteredAgentBO() throws Exception; /** * 写日志 * @param log * 日志 */ void writeToSysLog(SystemLog log, int userId); }