/* Network-Integrated Multimedia Middleware (NMM)
 * http://www.motama.com/nmm.html
 *
 * Copyright (C) 2006-2007
 * Motama GmbH, Saarbruecken, Germany
 * http://www.motama.com
 *
 * This file is part of NMM. 
 * 
 * NMM is free software; you can redistribute it and/or modify it    
 * under the terms of the GNU General Public License as published by 
 * the Free Software Foundation; only version 2 of the License.      
 * 
 * NMM 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 General Public 
 * License for more details.  
 * 
 * You should have received a copy of the GNU General Public License 
 * along with NMM; if not, write to the Free Software Foundation,    
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 */


module NMM{

  /**
   * Interface to set parameters of XMLTVPlugin
   */
  interface IXMLTVPlugin {

    /**
     * Set the path and file where XMLTV stores its downloaded data
     *@param file filename of datafile
     */
    void setFilename(in string file);
    /**
     * get the filename of the temp datafile
     *@return path + datafile
     */
    string getFilename();
    
    /**
     * Set the patch and name of the temporary config-file, where the plugin stores its current position in update
     *@param filepath and filename of configfile
     */
    void setConfigFile(in string file);
    /**
     * get the path and name of the confgifile
     *@return path and name of the confgifile
     */
    string getConfigFile();
    
    /**
     * Select the XMLTV-Tool by setting the country-information
     *@param loc abreviation or complete tool-name of XMLTV-Tools
     */
    Result setLocale(in string loc);
    /**
     * get the currently used Locale-information
     *@return locale
     */
    string getLocale();
    
    /**
     * set the period when a new update will start
     *@param period in form d|h|m <number>
     */
    void setPeriod(in string p);
    /**
     * get the configured period
     *@return period
     */
    string getPeriod();

    /**
     * if the argument is set to true, the grabber will try to get data from the past.
     * if it is possible or not depends on the grabber used
     *@param nmm_bool if true, the plugins tries to grab data from the past
     */
    void setFillHolesInDB(in nmm_bool b);
    /**
     * 
     *@return true try to grab data from past
     *@return false only grab data from 'now' on
     */
    nmm_bool getFillHolesInDB();

  };

}
