// This file is generated by tdeconfig_compiler from kmfconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef KMF_KMFCONFIG_H
#define KMF_KMFCONFIG_H

#include <tdeconfigskeleton.h>
#include <kdebug.h>

namespace KMF {

class TDE_EXPORT KMFConfig : public TDEConfigSkeleton
{
  public:

    static KMFConfig *self();
    ~KMFConfig();

    /**
      Set Indicates if this is the first startup.
    */
    static
    void setFirstRun( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "FirstRun" ) ))
        self()->mFirstRun = v;
    }

    /**
      Get Indicates if this is the first startup.
    */
    static
    bool firstRun()
    {
      return self()->mFirstRun;
    }

    /**
      Set Indicates if the applicatiojn configuration has been converted to the new multi target model.
    */
    static
    void setConfigurationConverted( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ConfigurationConverted" ) ))
        self()->mConfigurationConverted = v;
    }

    /**
      Get Indicates if the applicatiojn configuration has been converted to the new multi target model.
    */
    static
    bool configurationConverted()
    {
      return self()->mConfigurationConverted;
    }

    /**
      Set Number of undo/redo steps.
    */
    static
    void setMaxUndo( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "MaxUndo" ) ))
        self()->mMaxUndo = v;
    }

    /**
      Get Number of undo/redo steps.
    */
    static
    int maxUndo()
    {
      return self()->mMaxUndo;
    }

    /**
      Set Show splash on strtup.
    */
    static
    void setShowSplash( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowSplash" ) ))
        self()->mShowSplash = v;
    }

    /**
      Get Show splash on strtup.
    */
    static
    bool showSplash()
    {
      return self()->mShowSplash;
    }

    /**
      Set Show the Generic or the IPTables interface
    */
    static
    void setUseGenericInterface( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UseGenericInterface" ) ))
        self()->mUseGenericInterface = v;
    }

    /**
      Get Show the Generic or the IPTables interface
    */
    static
    bool useGenericInterface()
    {
      return self()->mUseGenericInterface;
    }

    /**
      Set Use SSH for localhost Execution, enables password keeping, tdewallet support
    */
    static
    void setUseSSHForLocalhost( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "UseSSHForLocalhost" ) ))
        self()->mUseSSHForLocalhost = v;
    }

    /**
      Get Use SSH for localhost Execution, enables password keeping, tdewallet support
    */
    static
    bool useSSHForLocalhost()
    {
      return self()->mUseSSHForLocalhost;
    }

    /**
      Set Which OS are we using.
    */
    static
    void setOS( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "OS" ) ))
        self()->mOS = v;
    }

    /**
      Get Which OS are we using.
    */
    static
    TQString oS()
    {
      return self()->mOS;
    }

    /**
      Set Firewalling backend name.
    */
    static
    void setBackend( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Backend" ) ))
        self()->mBackend = v;
    }

    /**
      Get Firewalling backend name.
    */
    static
    TQString backend()
    {
      return self()->mBackend;
    }

    /**
      Set Show selected Interface.
    */
    static
    void setShowSelInterface( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowSelInterface" ) ))
        self()->mShowSelInterface = v;
    }

    /**
      Get Show selected Interface.
    */
    static
    bool showSelInterface()
    {
      return self()->mShowSelInterface;
    }

    /**
      Set Show Documentation for default IPTables objects.
    */
    static
    void setShowDocumentation( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowDocumentation" ) ))
        self()->mShowDocumentation = v;
    }

    /**
      Get Show Documentation for default IPTables objects.
    */
    static
    bool showDocumentation()
    {
      return self()->mShowDocumentation;
    }

    /**
      Set Indicates if list view should show the generated commands
    */
    static
    void setShowCommandLine( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowCommandLine" ) ))
        self()->mShowCommandLine = v;
    }

    /**
      Get Indicates if list view should show the generated commands
    */
    static
    bool showCommandLine()
    {
      return self()->mShowCommandLine;
    }

    /**
      Set Indicates if the ObjectIDs should be shown in the ListView.
    */
    static
    void setShowObjectID( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowObjectID" ) ))
        self()->mShowObjectID = v;
    }

    /**
      Get Indicates if the ObjectIDs should be shown in the ListView.
    */
    static
    bool showObjectID()
    {
      return self()->mShowObjectID;
    }

    /**
      Set What kind of ditribution are we using.
    */
    static
    void setDistribution( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Distribution" ) ))
        self()->mDistribution = v;
    }

    /**
      Get What kind of ditribution are we using.
    */
    static
    TQString distribution()
    {
      return self()->mDistribution;
    }

    /**
      Set Path to the init scripts
    */
    static
    void setInitPath( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "InitPath" ) ))
        self()->mInitPath = v;
    }

    /**
      Get Path to the init scripts
    */
    static
    TQString initPath()
    {
      return self()->mInitPath;
    }

    /**
      Set Path to the default runlevel directory.
    */
    static
    void setRcDefaultPath( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "rcDefaultPath" ) ))
        self()->mRcDefaultPath = v;
    }

    /**
      Get Path to the default runlevel directory.
    */
    static
    TQString rcDefaultPath()
    {
      return self()->mRcDefaultPath;
    }

    /**
      Set Path to iptables binary.
    */
    static
    void setIPTPath( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "IPTPath" ) ))
        self()->mIPTPath = v;
    }

    /**
      Get Path to iptables binary.
    */
    static
    TQString iPTPath()
    {
      return self()->mIPTPath;
    }

    /**
      Set Path to the modprobe binary.
    */
    static
    void setModprobePath( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ModprobePath" ) ))
        self()->mModprobePath = v;
    }

    /**
      Get Path to the modprobe binary.
    */
    static
    TQString modprobePath()
    {
      return self()->mModprobePath;
    }

    /**
      Set Path to the current configuration.
    */
    static
    void setCurrentConfiguration( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "CurrentConfiguration" ) ))
        self()->mCurrentConfiguration = v;
    }

    /**
      Get Path to the current configuration.
    */
    static
    TQString currentConfiguration()
    {
      return self()->mCurrentConfiguration;
    }

    /**
      Set Network interfaces
    */
    static
    void setInterfaces( const TQStringList & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Interfaces" ) ))
        self()->mInterfaces = v;
    }

    /**
      Get Network interfaces
    */
    static
    TQStringList interfaces()
    {
      return self()->mInterfaces;
    }

    static
    void writeConfig()
    {
      static_cast<TDEConfigSkeleton*>(self())->writeConfig();
    }
  protected:
    KMFConfig();
    static KMFConfig *mSelf;


    // GENERAL
    bool mFirstRun;
    bool mConfigurationConverted;
    int mMaxUndo;
    bool mShowSplash;
    bool mUseGenericInterface;
    bool mUseSSHForLocalhost;
    TQString mOS;
    TQString mBackend;
    bool mShowSelInterface;

    // LISTVIEW
    bool mShowDocumentation;
    bool mShowCommandLine;
    bool mShowObjectID;

    // PATHS
    TQString mDistribution;
    TQString mInitPath;
    TQString mRcDefaultPath;
    TQString mIPTPath;
    TQString mModprobePath;
    TQString mCurrentConfiguration;

    // INTERFACES
    TQStringList mInterfaces;

  private:
};

}

#endif

