MiKTeX 26.5-next
A scalable TeX distribution
Loading...
Searching...
No Matches
MiKTeX::App::Application Class Reference

An instance of this class controls the run-time behaviour of a MiKTeX application. More...

#include <miktex/App/Application.h>

Inheritance diagram for MiKTeX::App::Application:
Collaboration diagram for MiKTeX::App::Application:

Public Member Functions

 Application (const Application &other)=delete
Application & operator= (const Application &other)=delete
 Application (Application &&other)=delete
Application & operator= (Application &&other)=delete
virtual std::string ExamineArgs (std::vector< const char * > &args, MiKTeX::Core::Session::InitInfo &initInfo)
virtual std::string ExamineArgs (std::vector< char * > &args, MiKTeX::Core::Session::InitInfo &initInfo)
virtual void Init (const MiKTeX::Core::Session::InitInfo &initInfo, std::vector< const char * > &args)
virtual void Init (const MiKTeX::Core::Session::InitInfo &initInfo, std::vector< char * > &args)
virtual void Init (const MiKTeX::Core::Session::InitInfo &initInfo)
virtual void Init (std::vector< const char * > &args)
virtual void Init (std::vector< char * > &args)
virtual void Init (const std::string &programInvocationName)
virtual void Init (const std::string &programInvocationName, const std::string &theNameOfTheGame)
virtual void Finalize ()
 Frees application resources.
virtual void Finalize2 (int exitCode)
virtual void GetLibraryVersions (std::vector< MiKTeX::Core::LibraryVersion > &versions) const
virtual void ShowLibraryVersions () const
 Prints version information of loaded libraries.
bool InstallPackage (const std::string &packageId, const MiKTeX::Util::PathName &trigger, MiKTeX::Util::PathName &installRoot) override
 Install a package.
bool TryCreateFile (const MiKTeX::Util::PathName &fileName, MiKTeX::Core::FileType fileType) override
 Creates a file.
void ReportLine (const std::string &message) override
 Prints an installer message.
bool OnRetryableError (const std::string &message) override
 Handles an installer error.
bool OnProgress (MiKTeX::Packages::Notification nf) override
 Handles an installer notification.
bool Trace (const TraceCallback::TraceMessage &traceMessage) override
 Logs a trace message.
void EnableInstaller (MiKTeX::Configuration::TriState tri)
void FatalError (const std::string &message)
void Warning (const std::string &message)
void SecurityRisk (const std::string &message)
void InvokeEditor (const MiKTeX::Util::PathName &editFileName, int editLineNumber, MiKTeX::Core::FileType editFileType, const MiKTeX::Util::PathName &transcriptFileName) const
void Sorry (const std::string &name, const MiKTeX::Core::MiKTeXException &ex)
void Sorry (const std::string &name, const std::exception &ex)
void Sorry (const std::string &name, const std::string &description, const std::string &remedy, const std::string &url)
void Sorry (const std::string &name)
bool GetQuietFlag () const
void SetQuietFlag (bool b)
std::shared_ptr< MiKTeX::Core::Session > GetSession () const
MiKTeX::Configuration::TriState GetEnableInstaller () const
void LogInfo (const std::string &message) const
void LogWarn (const std::string &message) const
void LogError (const std::string &message) const
void CheckCancel ()
 Throws an exception if the application should be terminated.
Public Member Functions inherited from MiKTeX::Trace::TraceCallback
virtual bool Trace (const TraceMessage &traceMessage)=0

Static Public Member Functions

static Application * GetApplication ()

Static Protected Member Functions

static bool Cancelled ()

Detailed Description

An instance of this class controls the run-time behaviour of a MiKTeX application.

Member Function Documentation

◆ Cancelled()

bool MiKTeX::App::Application::Cancelled ( )
staticprotected

Gets an indication whether the application should be terminated.

Returns
Returns true, if SIGINT or SIGTERM has been received.

◆ CheckCancel()

void MiKTeX::App::Application::CheckCancel ( )

Throws an exception if the application should be terminated.

◆ EnableInstaller()

void MiKTeX::App::Application::EnableInstaller ( MiKTeX::Configuration::TriState tri)

Enables or disables the auto-installer.

Parameters
triThe new state (on, off, inherit configuration default).

◆ ExamineArgs() [1/2]

virtual std::string MiKTeX::App::Application::ExamineArgs ( std::vector< char * > & args,
MiKTeX::Core::Session::InitInfo & initInfo )
virtual

Filters out and processes special MiKTeX command-line arguments.

Parameters
[in,out]argsThe command-line arguments to examine and modify.
[in,out]initInfoThe session initialization options to modify.
Returns
Returns the modified command-line.

◆ ExamineArgs() [2/2]

virtual std::string MiKTeX::App::Application::ExamineArgs ( std::vector< const char * > & args,
MiKTeX::Core::Session::InitInfo & initInfo )
virtual

Filters out and processes special MiKTeX command-line arguments.

Parameters
[in,out]argsThe command-line arguments to examine and modify.
[in,out]initInfoThe session initialization options to modify.
Returns
Returns the modified command-line.

◆ FatalError()

void MiKTeX::App::Application::FatalError ( const std::string & message)

Terminates the application with an error.

Parameters
messageThe error message.

◆ Finalize()

◆ Finalize2()

virtual void MiKTeX::App::Application::Finalize2 ( int exitCode)
virtual

Frees application resources.

Parameters
exitCodeThe exit code to write to the log file.

◆ GetApplication()

Application * MiKTeX::App::Application::GetApplication ( )
static

Gets the current application object.

Returns
Returns a pointer to the current application object.

◆ GetEnableInstaller()

MiKTeX::Configuration::TriState MiKTeX::App::Application::GetEnableInstaller ( ) const

Gets the current auto-installer mode.

Returns
Returns the current auto-installer mode (on, off, inherit configuration default).

◆ GetLibraryVersions()

virtual void MiKTeX::App::Application::GetLibraryVersions ( std::vector< MiKTeX::Core::LibraryVersion > & versions) const
inlinevirtual

Collects version information of loaded libraries.

Parameters
[in,out]versionsThe version table to modify.

◆ GetQuietFlag()

bool MiKTeX::App::Application::GetQuietFlag ( ) const

Gets an indication whether the application is in quiet mode.

Returns
Returns true, if the application is in quiet mode.
See also
SetQuietFlag

◆ GetSession()

std::shared_ptr< MiKTeX::Core::Session > MiKTeX::App::Application::GetSession ( ) const

Gets the current session.

Returns
Returns a smart pointer to the current session object.

◆ Init() [1/7]

virtual void MiKTeX::App::Application::Init ( const MiKTeX::Core::Session::InitInfo & initInfo)
virtual

Initializes the application.

Parameters
initInfoSession initialization options.

◆ Init() [2/7]

virtual void MiKTeX::App::Application::Init ( const MiKTeX::Core::Session::InitInfo & initInfo,
std::vector< char * > & args )
virtual

Initializes the application.

Parameters
initInfoSession initialization options.
[in,out]argsThe command-line arguments to examine and modify.

◆ Init() [3/7]

virtual void MiKTeX::App::Application::Init ( const MiKTeX::Core::Session::InitInfo & initInfo,
std::vector< const char * > & args )
virtual

Initializes the application.

Parameters
initInfoSession initialization options.
[in,out]argsThe command-line arguments to examine and modify.

◆ Init() [4/7]

virtual void MiKTeX::App::Application::Init ( const std::string & programInvocationName)
virtual

Initializes the application.

Parameters
programInvocationNameThe program invocation name.

◆ Init() [5/7]

virtual void MiKTeX::App::Application::Init ( const std::string & programInvocationName,
const std::string & theNameOfTheGame )
virtual

Initializes the application.

Parameters
programInvocationNameThe program invocation name.
theNameOfTheGameThe user friendly program name.

◆ Init() [6/7]

virtual void MiKTeX::App::Application::Init ( std::vector< char * > & args)
virtual

Initializes the application.

Parameters
[in,out]argsThe command-line arguments to examine and modify.

Reimplemented in MiKTeX::TeXAndFriends::ETeXApp, MiKTeX::TeXAndFriends::MetafontApp, MiKTeX::TeXAndFriends::TeXApp, MiKTeX::TeXAndFriends::TeXMFApp, MiKTeX::TeXAndFriends::WebApp, and MiKTeX::TeXAndFriends::WebAppInputLine.

◆ Init() [7/7]

virtual void MiKTeX::App::Application::Init ( std::vector< const char * > & args)
virtual

Initializes the application.

Parameters
[in,out]argsThe command-line arguments to examine and modify.

◆ InstallPackage()

bool MiKTeX::App::Application::InstallPackage ( const std::string & packageId,
const MiKTeX::Util::PathName & trigger,
MiKTeX::Util::PathName & installRoot )
overridevirtual

Install a package.

This method gets called by the session object when a package needs to be installed.

Parameters
packageIdThe ID of the requested package.
triggerThe path to the file which triggered the auto-installer.
installRootThe path to the installation root directory.
Returns
Returns true, if the package has been installed.

Implements MiKTeX::Core::IFindFileCallback.

◆ InvokeEditor()

void MiKTeX::App::Application::InvokeEditor ( const MiKTeX::Util::PathName & editFileName,
int editLineNumber,
MiKTeX::Core::FileType editFileType,
const MiKTeX::Util::PathName & transcriptFileName ) const

Starts a text editor.

Parameters
editFileNamePath to the file to be edited.
editLineNumberThe line where the edit cursor should be moved to.
editFileTypeThe file type.
transcriptFileNamePath to a secondary file (usually a log file).

◆ LogError()

void MiKTeX::App::Application::LogError ( const std::string & message) const

Logs an error message.

Parameters
messageThe message to log.

◆ LogInfo()

void MiKTeX::App::Application::LogInfo ( const std::string & message) const

Logs an informational message.

Parameters
messageThe message to log.

◆ LogWarn()

void MiKTeX::App::Application::LogWarn ( const std::string & message) const

Logs a warning message.

Parameters
messageThe message to log.

◆ OnProgress()

bool MiKTeX::App::Application::OnProgress ( MiKTeX::Packages::Notification nf)
overridevirtual

Handles an installer notification.

This method gets called by the installer when the current phase ends or when a new phase begins.

Parameters
nfThe notification.

Implements MiKTeX::Packages::PackageInstallerCallback.

◆ OnRetryableError()

bool MiKTeX::App::Application::OnRetryableError ( const std::string & message)
overridevirtual

Handles an installer error.

This method gets called by the installer when an error occured.

Parameters
messageThe error message.
Returns
Returns false to cancel the installer.

Implements MiKTeX::Packages::PackageInstallerCallback.

◆ ReportLine()

void MiKTeX::App::Application::ReportLine ( const std::string & message)
overridevirtual

Prints an installer message.

This method gets called by the installer when a message should be written to the report stream.

Parameters
messageThe message text.

Implements MiKTeX::Packages::PackageInstallerCallback.

◆ SecurityRisk()

void MiKTeX::App::Application::SecurityRisk ( const std::string & message)

Print a security warning nessage.

Parameters
messageThe security warning message.

◆ SetQuietFlag()

void MiKTeX::App::Application::SetQuietFlag ( bool b)

Turns quiet mode on/off.

Parameters
bThe new quiet mode.
See also
GetQuietFlag

◆ ShowLibraryVersions()

virtual void MiKTeX::App::Application::ShowLibraryVersions ( ) const
virtual

Prints version information of loaded libraries.

◆ Sorry() [1/4]

void MiKTeX::App::Application::Sorry ( const std::string & name)
inline

Prints a user friendly error message.

Parameters
nameUser friendly program name.

◆ Sorry() [2/4]

void MiKTeX::App::Application::Sorry ( const std::string & name,
const MiKTeX::Core::MiKTeXException & ex )

Prints a user friendly error message.

Parameters
nameUser friendly program name.
exError information.

◆ Sorry() [3/4]

void MiKTeX::App::Application::Sorry ( const std::string & name,
const std::exception & ex )

Prints a user friendly error message.

Parameters
nameUser friendly program name.
exError information.

◆ Sorry() [4/4]

void MiKTeX::App::Application::Sorry ( const std::string & name,
const std::string & description,
const std::string & remedy,
const std::string & url )

Prints a user friendly error message.

Parameters
nameUser friendly program name.
descriptionA user friendly description of the error.
remedyA user friendly recipe to remedy the error.
urlA link to a help page.

◆ Trace()

bool MiKTeX::App::Application::Trace ( const TraceCallback::TraceMessage & traceMessage)
override

Logs a trace message.

This method gets called when a trace message should be logged.

Parameters
traceMessageThe trace message to log.

◆ TryCreateFile()

bool MiKTeX::App::Application::TryCreateFile ( const MiKTeX::Util::PathName & fileName,
MiKTeX::Core::FileType fileType )
overridevirtual

Creates a file.

This method gets called by the session object when a file (e.g., pdflatex.fmt) needs to be created.

Parameters
fileNameThe path to the file.
fileTypeThe file type.
Returns
Returns true, if the file has been created.

Implements MiKTeX::Core::IFindFileCallback.

◆ Warning()

void MiKTeX::App::Application::Warning ( const std::string & message)

Print a warning nessage.

Parameters
messageThe warning message.

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