/*
* JBoss, Home of Professional Open Source
* Copyright 2005, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.jmx.adaptor.snmp.agent;

/**
 * MBean interface.
 */
public interface SnmpAgentServiceMBean extends org.jboss.system.ListenerServiceMBean {

   /**
    * Gets the heartbeat switch
    */
  int getHeartBeatPeriod() ;

   /**
    * Sets the heartbeat period (in seconds) switch
    */
  void setHeartBeatPeriod(int heartBeatPeriod) ;

   /**
    * Returns the difference, measured in milliseconds, between the instantiation time and midnight, January 1, 1970 UTC.
    */
  long getInstantiationTime() ;

   /**
    * Returns the up-time
    */
  long getUptime() ;

   /**
    * Returns the current trap counter reading
    */
  long getTrapCount() ;

   /**
    * Sets the name of the file containing SNMP manager specifications
    */
  void setManagersResName(java.lang.String managersResName) ;

   /**
    * Gets the name of the file containing SNMP manager specifications
    */
  java.lang.String getManagersResName() ;

   /**
    * Sets the name of the file containing the notification/trap mappings
    */
  void setNotificationMapResName(java.lang.String notificationMapResName) ;

   /**
    * Gets the name of the file containing the notification/trap mappings
    */
  java.lang.String getNotificationMapResName() ;

   /**
    * Sets the utilised trap factory name
    */
  void setTrapFactoryClassName(java.lang.String name) ;

   /**
    * Gets the utilised trap factory name
    */
  java.lang.String getTrapFactoryClassName() ;

   /**
    * Sets the utilised timer MBean name
    */
  void setTimerName(javax.management.ObjectName timerName) ;

   /**
    * Gets the utilised timer MBean name
    */
  javax.management.ObjectName getTimerName() ;

   /**
    * Sets the agent bind address
    */
  void setBindAddress(java.lang.String bindAddress) throws java.net.UnknownHostException;

   /**
    * Gets the agent bind address
    */
  java.lang.String getBindAddress() ;

   /**
    * Sets the number of threads in the agent request processing thread pool
    */
  void setNumberOfThreads(int numberOfThreads) ;

   /**
    * Gets the number of threads in the agent requests processing thread pool
    */
  int getNumberOfThreads() ;

   /**
    * Sets the agent listening port number
    */
  void setPort(int port) ;

   /**
    * Gets the agent listening port number
    */
  int getPort() ;

   /**
    * Sets the snmp protocol version
    */
  void setSnmpVersion(int snmpVersion) ;

   /**
    * Gets the snmp protocol version
    */
  int getSnmpVersion() ;

   /**
    * Sets the read community (no getter)
    */
  void setReadCommunity(java.lang.String readCommunity) ;

   /**
    * Sets the write community (no getter)
    */
  void setWriteCommunity(java.lang.String writeCommunity) ;

   /**
    * Sets the RequestHandler implementation class
    */
  void setRequestHandlerClassName(java.lang.String requestHandlerClassName) ;

   /**
    * Gets the RequestHandler implementation class
    */
  java.lang.String getRequestHandlerClassName() ;

   /**
    * Sets the resource file name containing get/set mappings
    */
  void setRequestHandlerResName(java.lang.String requestHandlerResName) ;

   /**
    * Gets the resource file name containing get/set mappings
    */
  java.lang.String getRequestHandlerResName() ;

   /**
    * Enables/disables dynamic subscriptions
    */
  void setDynamicSubscriptions(boolean dynamicSubscriptions) ;

   /**
    * Gets the dynamic subscriptions status
    */
  boolean getDynamicSubscriptions() ;

}
