// This file is generated by kconfig_compiler from automationconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef AUTOMATIONCONFIG_H
#define AUTOMATIONCONFIG_H

#include <kglobal.h>
#include <kconfigskeleton.h>
#include <kdebug.h>

class AutomationConfig : public KConfigSkeleton
{
  public:

    AutomationConfig( KSharedConfig::Ptr config = KGlobal::config() );
    ~AutomationConfig();

    /**
      Set Name of the configuration, e.g. kdewebdev
    */
    void setName( const QString & v )
    {
      if (!isImmutable( QString::fromLatin1( "Name" ) ))
        mName = v;
    }

    /**
      Get Name of the configuration, e.g. kdewebdev
    */
    QString name() const
    {
      return mName;
    }

    /**
      Set Periodicity of the check
    */
    void setPeriodicity( int v )
    {
      if (!isImmutable( QString::fromLatin1( "Periodicity" ) ))
        mPeriodicity = v;
    }

    /**
      Get Periodicity of the check
    */
    int periodicity() const
    {
      return mPeriodicity;
    }

    /**
      Set Hour in which the task will be executed
    */
    void setHour( const QString & v )
    {
      if (!isImmutable( QString::fromLatin1( "Hour" ) ))
        mHour = v;
    }

    /**
      Get Hour in which the task will be executed
    */
    QString hour() const
    {
      return mHour;
    }

    /**
      Set URL of the site to check
    */
    void setUrlToCheck( const KUrl & v )
    {
      if (!isImmutable( QString::fromLatin1( "UrlToCheck" ) ))
        mUrlToCheck = v;
    }

    /**
      Get URL of the site to check
    */
    KUrl urlToCheck() const
    {
      return mUrlToCheck;
    }

    /**
      Set For protocols different than HTTP, specify the root of your files, e.g. '/var/www'
    */
    void setDocumentRoot( const KUrl & v )
    {
      if (!isImmutable( QString::fromLatin1( "DocumentRoot" ) ))
        mDocumentRoot = v;
    }

    /**
      Get For protocols different than HTTP, specify the root of your files, e.g. '/var/www'
    */
    KUrl documentRoot() const
    {
      return mDocumentRoot;
    }

    /**
      Set Depth of recursive search, -1 is unlimited
    */
    void setDepth( int v )
    {
      if (!isImmutable( QString::fromLatin1( "Depth" ) ))
        mDepth = v;
    }

    /**
      Get Depth of recursive search, -1 is unlimited
    */
    int depth() const
    {
      return mDepth;
    }

    /**
      Set Whether to check links in parent folders
    */
    void setCheckParentFolders( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "CheckParentFolders" ) ))
        mCheckParentFolders = v;
    }

    /**
      Get Whether to check links in parent folders
    */
    bool checkParentFolders() const
    {
      return mCheckParentFolders;
    }

    /**
      Set Whether to check external links
    */
    void setCheckExternalLinks( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "CheckExternalLinks" ) ))
        mCheckExternalLinks = v;
    }

    /**
      Get Whether to check external links
    */
    bool checkExternalLinks() const
    {
      return mCheckExternalLinks;
    }

    /**
      Set The URLs that match the regexp will not be checked
    */
    void setRegularExpression( const QString & v )
    {
      if (!isImmutable( QString::fromLatin1( "RegularExpression" ) ))
        mRegularExpression = v;
    }

    /**
      Get The URLs that match the regexp will not be checked
    */
    QString regularExpression() const
    {
      return mRegularExpression;
    }

    /**
      Set Whether to include only broken links in the result
    */
    void setBrokenLinksOnly( bool v )
    {
      if (!isImmutable( QString::fromLatin1( "BrokenLinksOnly" ) ))
        mBrokenLinksOnly = v;
    }

    /**
      Get Whether to include only broken links in the result
    */
    bool brokenLinksOnly() const
    {
      return mBrokenLinksOnly;
    }

    /**
      Set The directory where the results will be saved
    */
    void setResultsFilePath( const KUrl & v )
    {
      if (!isImmutable( QString::fromLatin1( "ResultsFilePath" ) ))
        mResultsFilePath = v;
    }

    /**
      Get The directory where the results will be saved
    */
    KUrl resultsFilePath() const
    {
      return mResultsFilePath;
    }

    /**
      Set The e-mail address to where results will be emailed
    */
    void setMailRecipient( const QString & v )
    {
      if (!isImmutable( QString::fromLatin1( "MailRecipient" ) ))
        mMailRecipient = v;
    }

    /**
      Get The e-mail address to where results will be emailed
    */
    QString mailRecipient() const
    {
      return mMailRecipient;
    }

  protected:

    // Scheduling
    QString mName;
    int mPeriodicity;
    QString mHour;

    // SearchOptions
    KUrl mUrlToCheck;
    KUrl mDocumentRoot;
    int mDepth;
    bool mCheckParentFolders;
    bool mCheckExternalLinks;
    QString mRegularExpression;

    // Results
    bool mBrokenLinksOnly;
    KUrl mResultsFilePath;
    QString mMailRecipient;

  private:
};

#endif

