Class to find helper executables that have been installed alongside the application. More...

#include <HelperExecPath.h>

Classes

struct  HelperExec
 

Public Types

enum  SearchType { NativeArchitectureOnly, AllInstalled }
 

Public Member Functions

 HelperExecPath (SearchType type)
 
QString getHelperExecutable (QString basename)
 Find a helper executable with the given base name in the bundle directory or installation location, if one exists, and return its full path. More...
 
QList< HelperExecgetHelperExecutables (QString basename)
 Find all helper executables with the given base name in the bundle directory or installation location, and return their full paths in order of priority. More...
 
QStringList getHelperDirPaths ()
 Return the list of directories searched for helper executables. More...
 
QStringList getHelperCandidatePaths (QString basename)
 Return the list of executable paths examined in the search for the helper executable with the given basename. More...
 

Private Member Functions

QList< HelperExecsearch (QString, QStringList &)
 
QStringList getTags ()
 

Private Attributes

SearchType m_type
 

Detailed Description

Class to find helper executables that have been installed alongside the application.

There may be more than one executable available with a given base name, because it's possible to have more than one implementation of a given service. For example, a plugin helper or scanner may exist in both 32-bit and 64-bit variants.

This class encodes both the expected locations of helper executables, and the expected priority between different implementations (e.g. preferring the architecture that matches that of the host).

Definition at line 33 of file HelperExecPath.h.

Member Enumeration Documentation

Enumerator
NativeArchitectureOnly 
AllInstalled 

Definition at line 36 of file HelperExecPath.h.

Constructor & Destructor Documentation

HelperExecPath::HelperExecPath ( SearchType  type)
inline

Definition at line 41 of file HelperExecPath.h.

References getHelperExecutable().

Member Function Documentation

QString HelperExecPath::getHelperExecutable ( QString  basename)

Find a helper executable with the given base name in the bundle directory or installation location, if one exists, and return its full path.

Equivalent to calling getHelperExecutables() and taking the first result from the returned list (or "" if empty).

Definition at line 51 of file HelperExecPath.cpp.

References getHelperExecutables().

Referenced by HelperExecPath().

QList< HelperExecPath::HelperExec > HelperExecPath::getHelperExecutables ( QString  basename)

Find all helper executables with the given base name in the bundle directory or installation location, and return their full paths in order of priority.

The "tag" string contains an identifier for the location or architecture of the helper, for example "32", "64", "js" etc. An empty tag signifies a default helper that matches the application's architecture.

Definition at line 44 of file HelperExecPath.cpp.

References search().

Referenced by getHelperExecutable(), PluginPathSetter::getSupportedKeys(), and PluginScan::scan().

QStringList HelperExecPath::getHelperDirPaths ( )

Return the list of directories searched for helper executables.

Definition at line 59 of file HelperExecPath.cpp.

Referenced by search().

QStringList HelperExecPath::getHelperCandidatePaths ( QString  basename)

Return the list of executable paths examined in the search for the helper executable with the given basename.

Definition at line 95 of file HelperExecPath.cpp.

References search().

Referenced by PluginScan::scan().

QList< HelperExecPath::HelperExec > HelperExecPath::search ( QString  basename,
QStringList &  candidates 
)
private

Definition at line 103 of file HelperExecPath.cpp.

References getHelperDirPaths(), getTags(), and isGood().

Referenced by getHelperCandidatePaths(), and getHelperExecutables().

QStringList HelperExecPath::getTags ( )
private

Definition at line 24 of file HelperExecPath.cpp.

References m_type, and NativeArchitectureOnly.

Referenced by search().

Member Data Documentation

SearchType HelperExecPath::m_type
private

Definition at line 79 of file HelperExecPath.h.

Referenced by getTags().


The documentation for this class was generated from the following files: