// This file is generated by kconfig_compiler_kf6 from ninjabuilderconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef NINJABUILDERSETTINGS_H
#define NINJABUILDERSETTINGS_H

#include <project/projectconfigskeleton.h>

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class NinjaBuilderSettings : public KDevelop::ProjectConfigSkeleton
{
  public:

    static NinjaBuilderSettings *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~NinjaBuilderSettings() override;

    /**
      Get Display Only
    */
    static
    bool displayOnly()
    {
      return self()->mDisplayOnly;
    }

    /**
      Is Display Only Immutable
    */
    static
    bool isDisplayOnlyImmutable()
    {
      return self()->isImmutable( QStringLiteral( "displayOnly" ) );
    }

    /**
      Get Install As Root
    */
    static
    bool installAsRoot()
    {
      return self()->mInstallAsRoot;
    }

    /**
      Is Install As Root Immutable
    */
    static
    bool isInstallAsRootImmutable()
    {
      return self()->isImmutable( QStringLiteral( "installAsRoot" ) );
    }

    /**
      Get Override Number Of Jobs
    */
    static
    bool overrideNumberOfJobs()
    {
      return self()->mOverrideNumberOfJobs;
    }

    /**
      Is Override Number Of Jobs Immutable
    */
    static
    bool isOverrideNumberOfJobsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "overrideNumberOfJobs" ) );
    }

    /**
      Get Su Command
    */
    static
    int suCommand()
    {
      return self()->mSuCommand;
    }

    /**
      Is Su Command Immutable
    */
    static
    bool isSuCommandImmutable()
    {
      return self()->isImmutable( QStringLiteral( "suCommand" ) );
    }

    /**
      Get Number Of Jobs
    */
    static
    uint numberOfJobs()
    {
      return self()->mNumberOfJobs;
    }

    /**
      Is Number Of Jobs Immutable
    */
    static
    bool isNumberOfJobsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "numberOfJobs" ) );
    }

    /**
      Get Number Of Errors
    */
    static
    uint numberOfErrors()
    {
      return self()->mNumberOfErrors;
    }

    /**
      Is Number Of Errors Immutable
    */
    static
    bool isNumberOfErrorsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "numberOfErrors" ) );
    }

    /**
      Get Additional Options
    */
    static
    QString additionalOptions()
    {
      return self()->mAdditionalOptions;
    }

    /**
      Is Additional Options Immutable
    */
    static
    bool isAdditionalOptionsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "additionalOptions" ) );
    }

    /**
      Get Default Ninja Environment Profile
    */
    static
    QString environmentProfile()
    {
      return self()->mEnvironmentProfile;
    }

    /**
      Is Default Ninja Environment Profile Immutable
    */
    static
    bool isEnvironmentProfileImmutable()
    {
      return self()->isImmutable( QStringLiteral( "environmentProfile" ) );
    }

  protected:
    NinjaBuilderSettings(KSharedConfig::Ptr config);
    friend class NinjaBuilderSettingsHelper;


    // NinjaBuilder
    bool mDisplayOnly;
    bool mInstallAsRoot;
    bool mOverrideNumberOfJobs;
    int mSuCommand;
    uint mNumberOfJobs;
    uint mNumberOfErrors;
    QString mAdditionalOptions;
    QString mEnvironmentProfile;
};

#endif

