OpenMS
Loading...
Searching...
No Matches
ToolHandler.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Chris Bielow $
6// $Authors: Chris Bielow $
7// --------------------------------------------------------------------------
8
9#pragma once
10
14
15#include <map>
16
17
18namespace OpenMS
19{
34 /*
35 internal details & discussion:
36
37 We could create the list of TOPP tools from a set of files in /share
38 instead of hard coding them here.
39 Advantage: - no recompile if new tool is added (but the new tool will necessitate that anyway)
40 - quickly changing a tool's category (e.g. from PreProcessing to Quantitation) and thus its place in TOPPAS
41 even users could rearrange tools themselves...
42 Disadvantage:
43 - when to library loads, we'd need to parse all the files. Making our start-up time even longer...
44 - when files are broken/missing, we will have a hard time initializing the lib
45 */
46
48 typedef std::map<String, Internal::ToolDescription> ToolListType;
49
50 class OPENMS_DLLAPI ToolHandler
51 {
52public:
53
55 static ToolListType getTOPPToolList(const bool includeGenericWrapper = false);
56
58 static StringList getTypes(const String& toolname);
59
62 static String getCategory(const String& toolname);
63
66
69
70private:
71
77
78 static std::vector<Internal::ToolDescription> getInternalTools_();
81 static std::vector<Internal::ToolDescription> tools_internal_;
83 };
84
85} // namespace OpenMS
A more convenient string class.
Definition String.h:32
Definition ToolHandler.h:51
static String getInternalToolsPath()
get File::getOpenMSDataPath() + "/TOOLS/INTERNAL"
static String getExternalToolsPath()
get getOpenMSDataPath() + "/TOOLS/EXTERNAL"
static void loadExternalToolConfig_()
static StringList getInternalToolConfigFiles_()
static String getCategory(const String &toolname)
static bool tools_internal_loaded_
Definition ToolHandler.h:82
static std::vector< Internal::ToolDescription > tools_internal_
Definition ToolHandler.h:81
static Internal::ToolDescription tools_external_
Definition ToolHandler.h:75
static StringList getExternalToolConfigFiles_()
static StringList getTypes(const String &toolname)
get all types of a tool (empty if none)
static ToolListType getTOPPToolList(const bool includeGenericWrapper=false)
Returns the list of official TOPP tools contained in the OpenMS/TOPP release.
static Internal::ToolDescription getExternalTools_()
static bool tools_external_loaded_
Definition ToolHandler.h:76
static std::vector< Internal::ToolDescription > getInternalTools_()
static void loadInternalToolConfig_()
std::vector< String > StringList
Vector of String.
Definition ListUtils.h:44
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
std::map< String, Internal::ToolDescription > ToolListType
Handles lists of TOPP tools and their categories (for TOPPAS)
Definition ToolHandler.h:48
Definition ToolDescription.h:112