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

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

#include <tqfile.h>
#include <tdeapplication.h>
#include <config.h>
class KUserPrefsBase : public TDEConfigSkeleton
{
  public:
    class EnumSource
    {
      public:
      enum type { Files, LDAP, System, COUNT };
    };
    class EnumLdapuserrdn
    {
      public:
      enum type { uid, uidNumber, cn, COUNT };
    };
    class EnumLdapstructural
    {
      public:
      enum type { account, inetOrgPerson, COUNT };
    };
    class EnumLdapgrouprdn
    {
      public:
      enum type { cn, gidNumber, COUNT };
    };
    class EnumLdappasswordhash
    {
      public:
      enum type { Clear, CRYPT, MD5, SMD5, SHA, SSHA, COUNT };
    };

    KUserPrefsBase( TDESharedConfig::Ptr config,  const TQString & connection );
    ~KUserPrefsBase();

    /**
      Set Default connection
    */
    void setConnection( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "connection" ) ))
        mConnection = v;
    }

    /**
      Get Default connection
    */
    TQString connection() const
    {
      return mConnection;
    }

    /**
      Set Show system users
    */
    void setShowsys( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "showsys" ) ))
        mShowsys = v;
    }

    /**
      Get Show system users
    */
    bool showsys() const
    {
      return mShowsys;
    }

    /**
      Set The source of the user and group database
    */
    void setSource( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "source" ) ))
        mSource = v;
    }

    /**
      Get The source of the user and group database
    */
    int source() const
    {
      return mSource;
    }

    /**
      Set Shell
    */
    void setShell( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "shell" ) ))
        mShell = v;
    }

    /**
      Get Shell
    */
    TQString shell() const
    {
      return mShell;
    }

    /**
      Set Home path template
    */
    void setHomepath( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "homepath" ) ))
        mHomepath = v;
    }

    /**
      Get Home path template
    */
    TQString homepath() const
    {
      return mHomepath;
    }

    /**
      Set First UID
    */
    void setFirstUID( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "firstUID" ) ))
        mFirstUID = v;
    }

    /**
      Get First UID
    */
    int firstUID() const
    {
      return mFirstUID;
    }

    /**
      Set First GID
    */
    void setFirstGID( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "firstGID" ) ))
        mFirstGID = v;
    }

    /**
      Get First GID
    */
    int firstGID() const
    {
      return mFirstGID;
    }

    /**
      Set Create home folder
    */
    void setCreateHomeDir( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "createHomeDir" ) ))
        mCreateHomeDir = v;
    }

    /**
      Get Create home folder
    */
    bool createHomeDir() const
    {
      return mCreateHomeDir;
    }

    /**
      Set Copy skeleton to home folder
    */
    void setCopySkel( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "copySkel" ) ))
        mCopySkel = v;
    }

    /**
      Get Copy skeleton to home folder
    */
    bool copySkel() const
    {
      return mCopySkel;
    }

    /**
      Set User private groups
    */
    void setUserPrivateGroup( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "userPrivateGroup" ) ))
        mUserPrivateGroup = v;
    }

    /**
      Get User private groups
    */
    bool userPrivateGroup() const
    {
      return mUserPrivateGroup;
    }

    /**
      Set Default primary group
    */
    void setDefaultgroup( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "defaultgroup" ) ))
        mDefaultgroup = v;
    }

    /**
      Get Default primary group
    */
    int defaultgroup() const
    {
      return mDefaultgroup;
    }

    /**
      Set smin
    */
    void setSmin( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "smin" ) ))
        mSmin = v;
    }

    /**
      Get smin
    */
    int smin() const
    {
      return mSmin;
    }

    /**
      Set smax
    */
    void setSmax( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "smax" ) ))
        mSmax = v;
    }

    /**
      Get smax
    */
    int smax() const
    {
      return mSmax;
    }

    /**
      Set swarn
    */
    void setSwarn( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "swarn" ) ))
        mSwarn = v;
    }

    /**
      Get swarn
    */
    int swarn() const
    {
      return mSwarn;
    }

    /**
      Set sinact
    */
    void setSinact( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "sinact" ) ))
        mSinact = v;
    }

    /**
      Get sinact
    */
    int sinact() const
    {
      return mSinact;
    }

    /**
      Set sexpire
    */
    void setSexpire( const TQDateTime & v )
    {
      if (!isImmutable( TQString::fromLatin1( "sexpire" ) ))
        mSexpire = v;
    }

    /**
      Get sexpire
    */
    TQDateTime sexpire() const
    {
      return mSexpire;
    }

    /**
      Set sneverexpire
    */
    void setSneverexpire( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "sneverexpire" ) ))
        mSneverexpire = v;
    }

    /**
      Get sneverexpire
    */
    bool sneverexpire() const
    {
      return mSneverexpire;
    }

    /**
      Set Password file
    */
    void setPasswdsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "passwdsrc" ) ))
        mPasswdsrc = v;
    }

    /**
      Get Password file
    */
    TQString passwdsrc() const
    {
      return mPasswdsrc;
    }

    /**
      Set Group file
    */
    void setGroupsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "groupsrc" ) ))
        mGroupsrc = v;
    }

    /**
      Get Group file
    */
    TQString groupsrc() const
    {
      return mGroupsrc;
    }

    /**
      Set MD5 Shadow passwords
    */
    void setMd5shadow( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "md5shadow" ) ))
        mMd5shadow = v;
    }

    /**
      Get MD5 Shadow passwords
    */
    bool md5shadow() const
    {
      return mMd5shadow;
    }

    /**
      Set Shadow password file
    */
    void setShadowsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "shadowsrc" ) ))
        mShadowsrc = v;
    }

    /**
      Get Shadow password file
    */
    TQString shadowsrc() const
    {
      return mShadowsrc;
    }

    /**
      Set Group shadow file
    */
    void setGshadowsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "gshadowsrc" ) ))
        mGshadowsrc = v;
    }

    /**
      Get Group shadow file
    */
    TQString gshadowsrc() const
    {
      return mGshadowsrc;
    }

    /**
      Set NIS password source
    */
    void setNispasswdsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "nispasswdsrc" ) ))
        mNispasswdsrc = v;
    }

    /**
      Get NIS password source
    */
    TQString nispasswdsrc() const
    {
      return mNispasswdsrc;
    }

    /**
      Set NIS minimum UID
    */
    void setNisminuid( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "nisminuid" ) ))
        mNisminuid = v;
    }

    /**
      Get NIS minimum UID
    */
    int nisminuid() const
    {
      return mNisminuid;
    }

    /**
      Set NIS group source
    */
    void setNisgroupsrc( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "nisgroupsrc" ) ))
        mNisgroupsrc = v;
    }

    /**
      Get NIS group source
    */
    TQString nisgroupsrc() const
    {
      return mNisgroupsrc;
    }

    /**
      Set NIS minimum GID
    */
    void setNismingid( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "nismingid" ) ))
        mNismingid = v;
    }

    /**
      Get NIS minimum GID
    */
    int nismingid() const
    {
      return mNismingid;
    }

    /**
      Set LDAP User
    */
    void setLdapuser( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapuser" ) ))
        mLdapuser = v;
    }

    /**
      Get LDAP User
    */
    TQString ldapuser() const
    {
      return mLdapuser;
    }

    /**
      Set LDAP Password
    */
    void setLdappassword( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldappassword" ) ))
        mLdappassword = v;
    }

    /**
      Get LDAP Password
    */
    TQString ldappassword() const
    {
      return mLdappassword;
    }

    /**
      Set LDAP SASL Realm
    */
    void setLdaprealm( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldaprealm" ) ))
        mLdaprealm = v;
    }

    /**
      Get LDAP SASL Realm
    */
    TQString ldaprealm() const
    {
      return mLdaprealm;
    }

    /**
      Set LDAP Bind DN
    */
    void setLdapbinddn( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapbinddn" ) ))
        mLdapbinddn = v;
    }

    /**
      Get LDAP Bind DN
    */
    TQString ldapbinddn() const
    {
      return mLdapbinddn;
    }

    /**
      Set LDAP Host
    */
    void setLdaphost( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldaphost" ) ))
        mLdaphost = v;
    }

    /**
      Get LDAP Host
    */
    TQString ldaphost() const
    {
      return mLdaphost;
    }

    /**
      Set LDAP Port
    */
    void setLdapport( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapport" ) ))
        mLdapport = v;
    }

    /**
      Get LDAP Port
    */
    int ldapport() const
    {
      return mLdapport;
    }

    /**
      Set LDAP version
    */
    void setLdapver( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapver" ) ))
        mLdapver = v;
    }

    /**
      Get LDAP version
    */
    int ldapver() const
    {
      return mLdapver;
    }

    /**
      Set LDAP Size limit
    */
    void setLdapsizelimit( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapsizelimit" ) ))
        mLdapsizelimit = v;
    }

    /**
      Get LDAP Size limit
    */
    int ldapsizelimit() const
    {
      return mLdapsizelimit;
    }

    /**
      Set LDAP Time limit
    */
    void setLdaptimelimit( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldaptimelimit" ) ))
        mLdaptimelimit = v;
    }

    /**
      Get LDAP Time limit
    */
    int ldaptimelimit() const
    {
      return mLdaptimelimit;
    }

    /**
      Set LDAP Base DN
    */
    void setLdapdn( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapdn" ) ))
        mLdapdn = v;
    }

    /**
      Get LDAP Base DN
    */
    TQString ldapdn() const
    {
      return mLdapdn;
    }

    /**
      Set LDAP Filter
    */
    void setLdapfilter( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapfilter" ) ))
        mLdapfilter = v;
    }

    /**
      Get LDAP Filter
    */
    TQString ldapfilter() const
    {
      return mLdapfilter;
    }

    /**
      Set LDAP no encryption
    */
    void setLdapnosec( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapnosec" ) ))
        mLdapnosec = v;
    }

    /**
      Get LDAP no encryption
    */
    bool ldapnosec() const
    {
      return mLdapnosec;
    }

    /**
      Set LDAP TLS
    */
    void setLdaptls( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldaptls" ) ))
        mLdaptls = v;
    }

    /**
      Get LDAP TLS
    */
    bool ldaptls() const
    {
      return mLdaptls;
    }

    /**
      Set LDAP SSL
    */
    void setLdapssl( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapssl" ) ))
        mLdapssl = v;
    }

    /**
      Get LDAP SSL
    */
    bool ldapssl() const
    {
      return mLdapssl;
    }

    /**
      Set LDAP Anonymous
    */
    void setLdapanon( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapanon" ) ))
        mLdapanon = v;
    }

    /**
      Get LDAP Anonymous
    */
    bool ldapanon() const
    {
      return mLdapanon;
    }

    /**
      Set LDAP Simple auth
    */
    void setLdapsimple( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapsimple" ) ))
        mLdapsimple = v;
    }

    /**
      Get LDAP Simple auth
    */
    bool ldapsimple() const
    {
      return mLdapsimple;
    }

    /**
      Set LDAP SASL auth
    */
    void setLdapsasl( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapsasl" ) ))
        mLdapsasl = v;
    }

    /**
      Get LDAP SASL auth
    */
    bool ldapsasl() const
    {
      return mLdapsasl;
    }

    /**
      Set LDAP SASL mechanism
    */
    void setLdapsaslmech( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapsaslmech" ) ))
        mLdapsaslmech = v;
    }

    /**
      Get LDAP SASL mechanism
    */
    TQString ldapsaslmech() const
    {
      return mLdapsaslmech;
    }

    /**
      Set LDAP User container
    */
    void setLdapuserbase( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapuserbase" ) ))
        mLdapuserbase = v;
    }

    /**
      Get LDAP User container
    */
    TQString ldapuserbase() const
    {
      return mLdapuserbase;
    }

    /**
      Set LDAP User filter
    */
    void setLdapuserfilter( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapuserfilter" ) ))
        mLdapuserfilter = v;
    }

    /**
      Get LDAP User filter
    */
    TQString ldapuserfilter() const
    {
      return mLdapuserfilter;
    }

    /**
      Set LDAP Group container
    */
    void setLdapgroupbase( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapgroupbase" ) ))
        mLdapgroupbase = v;
    }

    /**
      Get LDAP Group container
    */
    TQString ldapgroupbase() const
    {
      return mLdapgroupbase;
    }

    /**
      Set LDAP Group filter
    */
    void setLdapgroupfilter( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapgroupfilter" ) ))
        mLdapgroupfilter = v;
    }

    /**
      Get LDAP Group filter
    */
    TQString ldapgroupfilter() const
    {
      return mLdapgroupfilter;
    }

    /**
      Set LDAP User RDN prefix
    */
    void setLdapuserrdn( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapuserrdn" ) ))
        mLdapuserrdn = v;
    }

    /**
      Get LDAP User RDN prefix
    */
    int ldapuserrdn() const
    {
      return mLdapuserrdn;
    }

    /**
      Set Store the user's full name in the cn attribute
    */
    void setLdapcnfullname( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapcnfullname" ) ))
        mLdapcnfullname = v;
    }

    /**
      Get Store the user's full name in the cn attribute
    */
    bool ldapcnfullname() const
    {
      return mLdapcnfullname;
    }

    /**
      Set Update the gecos field
    */
    void setLdapgecos( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapgecos" ) ))
        mLdapgecos = v;
    }

    /**
      Get Update the gecos field
    */
    bool ldapgecos() const
    {
      return mLdapgecos;
    }

    /**
      Set Manage LDAP shadowAccount objectclass
    */
    void setLdapshadow( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapshadow" ) ))
        mLdapshadow = v;
    }

    /**
      Get Manage LDAP shadowAccount objectclass
    */
    bool ldapshadow() const
    {
      return mLdapshadow;
    }

    /**
      Set LDAP Structural objectclass
    */
    void setLdapstructural( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapstructural" ) ))
        mLdapstructural = v;
    }

    /**
      Get LDAP Structural objectclass
    */
    int ldapstructural() const
    {
      return mLdapstructural;
    }

    /**
      Set LDAP Group RDN prefix
    */
    void setLdapgrouprdn( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapgrouprdn" ) ))
        mLdapgrouprdn = v;
    }

    /**
      Get LDAP Group RDN prefix
    */
    int ldapgrouprdn() const
    {
      return mLdapgrouprdn;
    }

    /**
      Set LDAP Password hash method
    */
    void setLdappasswordhash( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldappasswordhash" ) ))
        mLdappasswordhash = v;
    }

    /**
      Get LDAP Password hash method
    */
    int ldappasswordhash() const
    {
      return mLdappasswordhash;
    }

    /**
      Set Enable samba account management
    */
    void setLdapsam( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "ldapsam" ) ))
        mLdapsam = v;
    }

    /**
      Get Enable samba account management
    */
    bool ldapsam() const
    {
      return mLdapsam;
    }

    /**
      Set Samba domain name
    */
    void setSamdomain( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samdomain" ) ))
        mSamdomain = v;
    }

    /**
      Get Samba domain name
    */
    TQString samdomain() const
    {
      return mSamdomain;
    }

    /**
      Set Samba domain SID
    */
    void setSamdomsid( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samdomsid" ) ))
        mSamdomsid = v;
    }

    /**
      Get Samba domain SID
    */
    TQString samdomsid() const
    {
      return mSamdomsid;
    }

    /**
      Set Algorithmic RID base
    */
    void setSamridbase( int v )
    {
      if (!isImmutable( TQString::fromLatin1( "samridbase" ) ))
        mSamridbase = v;
    }

    /**
      Get Algorithmic RID base
    */
    int samridbase() const
    {
      return mSamridbase;
    }

    /**
      Set Samba login script
    */
    void setSamloginscript( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samloginscript" ) ))
        mSamloginscript = v;
    }

    /**
      Get Samba login script
    */
    TQString samloginscript() const
    {
      return mSamloginscript;
    }

    /**
      Set Samba home drive
    */
    void setSamhomedrive( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samhomedrive" ) ))
        mSamhomedrive = v;
    }

    /**
      Get Samba home drive
    */
    TQString samhomedrive() const
    {
      return mSamhomedrive;
    }

    /**
      Set Samba profile path template
    */
    void setSamprofilepath( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samprofilepath" ) ))
        mSamprofilepath = v;
    }

    /**
      Get Samba profile path template
    */
    TQString samprofilepath() const
    {
      return mSamprofilepath;
    }

    /**
      Set Samba home path template
    */
    void setSamhomepath( const TQString & v )
    {
      if (!isImmutable( TQString::fromLatin1( "samhomepath" ) ))
        mSamhomepath = v;
    }

    /**
      Get Samba home path template
    */
    TQString samhomepath() const
    {
      return mSamhomepath;
    }

    /**
      Set Store LanManager hashed password
    */
    void setLanmanhash( bool v )
    {
      if (!isImmutable( TQString::fromLatin1( "lanmanhash" ) ))
        mLanmanhash = v;
    }

    /**
      Get Store LanManager hashed password
    */
    bool lanmanhash() const
    {
      return mLanmanhash;
    }

  protected:
    TQString mParamconnection;

    // general
    TQString mConnection;
    bool mShowsys;

    // connection-$(connection)
    int mSource;
    TQString mShell;
    TQString mHomepath;
    int mFirstUID;
    int mFirstGID;
    bool mCreateHomeDir;
    bool mCopySkel;
    bool mUserPrivateGroup;
    int mDefaultgroup;
    int mSmin;
    int mSmax;
    int mSwarn;
    int mSinact;
    TQDateTime mSexpire;
    bool mSneverexpire;
    TQString mPasswdsrc;
    TQString mGroupsrc;
    bool mMd5shadow;
    TQString mShadowsrc;
    TQString mGshadowsrc;
    TQString mNispasswdsrc;
    int mNisminuid;
    TQString mNisgroupsrc;
    int mNismingid;
    TQString mLdapuser;
    TQString mLdappassword;
    TQString mLdaprealm;
    TQString mLdapbinddn;
    TQString mLdaphost;
    int mLdapport;
    int mLdapver;
    int mLdapsizelimit;
    int mLdaptimelimit;
    TQString mLdapdn;
    TQString mLdapfilter;
    bool mLdapnosec;
    bool mLdaptls;
    bool mLdapssl;
    bool mLdapanon;
    bool mLdapsimple;
    bool mLdapsasl;
    TQString mLdapsaslmech;
    TQString mLdapuserbase;
    TQString mLdapuserfilter;
    TQString mLdapgroupbase;
    TQString mLdapgroupfilter;
    int mLdapuserrdn;
    bool mLdapcnfullname;
    bool mLdapgecos;
    bool mLdapshadow;
    int mLdapstructural;
    int mLdapgrouprdn;
    int mLdappasswordhash;
    bool mLdapsam;
    TQString mSamdomain;
    TQString mSamdomsid;
    int mSamridbase;
    TQString mSamloginscript;
    TQString mSamhomedrive;
    TQString mSamprofilepath;
    TQString mSamhomepath;
    bool mLanmanhash;

  private:
};

#endif

