/*
 * JBoss, the OpenSource J2EE webOS
 *
 * Distributable under LGPL license.
 * See terms of license at gnu.org.
 */
package org.jboss.media.engine;

/**
 * MBean interface.
 */
public interface MediaPublisherMBean
{

   /**
    * Returns the context.
    * @return String
    */
   java.lang.String getContext();

   /**
    * Returns the fileName.
    * @return String
    */
   java.lang.String getFileName();

   /**
    * Returns the host.
    * @return String
    */
   java.lang.String getHost();

   /**
    * Returns the port.
    * @return int
    */
   int getPort();

   /**
    * Sets the context.
    * @param context The context to set
    */
   void setContext(java.lang.String context);

   /**
    * Sets the fileName.
    * @param fileName The fileName to set
    */
   void setFileName(java.lang.String fileName);

   /**
    * Sets the host.
    * @param host The host to set
    */
   void setHost(java.lang.String host);

   /**
    * Sets the port.
    * @param port The port to set
    */
   void setPort(int port);

   javax.management.ObjectName getName();

   void setName(javax.management.ObjectName name);

   /**
    * Publishes the processed media using a the specified protocol server
    */
   void publish() throws java.lang.Exception;

   /**
    * Stops publication of the current media
    */
   void stop();

   /**
    * Stops publication of the current media
    */
   void addPluginGraph(org.jboss.media.engine.MediaPluginGraph pg);

}
