File indexing completed on 2024-04-28 04:36:30
0001 /* 0002 SPDX-FileCopyrightText: 2009 Andreas Pakulat <apaku@gmx.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_ILAUNCHCONFIGURATION_H 0008 #define KDEVPLATFORM_ILAUNCHCONFIGURATION_H 0009 0010 #include "interfacesexport.h" 0011 0012 class KConfigGroup; 0013 class QString; 0014 0015 namespace KDevelop 0016 { 0017 0018 class LaunchConfigurationType; 0019 class IProject; 0020 0021 /** 0022 * A specific configuration to start a launchable, this could be a native 0023 * compiled application, or some script file or byte-compiled file or something else 0024 * Provides access to the various configurations, as well as their type and name 0025 */ 0026 class KDEVPLATFORMINTERFACES_EXPORT ILaunchConfiguration 0027 { 0028 public: 0029 virtual ~ILaunchConfiguration(); 0030 0031 /** 0032 * Access to the configuration group for this launch configuration. 0033 * @returns the config to read values from 0034 */ 0035 virtual const KConfigGroup config() const = 0; 0036 0037 /** 0038 * Access to the configuration group for this launch configuration. 0039 * @returns the config to write to 0040 */ 0041 virtual KConfigGroup config() = 0; 0042 0043 /** 0044 * Each launch configuration has a type, which identifies which launcher and launch modes 0045 * are supported. 0046 * @returns the configuration type 0047 */ 0048 virtual LaunchConfigurationType* type() const = 0; 0049 0050 /** 0051 * The user-chosen name for the launch configuration. 0052 * @returns the config name. 0053 */ 0054 virtual QString name() const = 0; 0055 0056 /** 0057 * Provides access to the project where the launch config is stored. 0058 * @returns the project in which the configuration is stored or 0 if the configuration is stored globally 0059 */ 0060 virtual IProject* project() const = 0; 0061 }; 0062 0063 } 0064 0065 #endif 0066