MiKTeX 23.10-next
A scalable TeX distribution
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for MiKTeX::App::Application:
Collaboration graph
[legend]

Public Member Functions

 Application (const Application &other)=delete
 
Applicationoperator= (const Application &other)=delete
 
 Application (Application &&other)=delete
 
Applicationoperator= (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. More...
 
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. More...
 
bool InstallPackage (const std::string &packageId, const MiKTeX::Util::PathName &trigger, MiKTeX::Util::PathName &installRoot) override
 Install a package. More...
 
bool TryCreateFile (const MiKTeX::Util::PathName &fileName, MiKTeX::Core::FileType fileType) override
 Creates a file. More...
 
void ReportLine (const std::string &message) override
 Prints an installer message. More...
 
bool OnRetryableError (const std::string &message) override
 Handles an installer error. More...
 
bool OnProgress (MiKTeX::Packages::Notification nf) override
 Handles an installer notification. More...
 
bool Trace (const TraceCallback::TraceMessage &traceMessage) override
 Logs a trace message. More...
 
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::SessionGetSession () 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. More...
 
virtual bool InstallPackage (const std::string &packageId, const MiKTeX::Util::PathName &trigger, MiKTeX::Util::PathName &installRoot)=0
 
virtual bool TryCreateFile (const MiKTeX::Util::PathName &fileName, FileType fileType)=0
 
virtual void ReportLine (const std::string &str)=0
 
virtual bool OnRetryableError (const std::string &message)=0
 
virtual bool OnProgress (Notification nf)=0
 
- Public Member Functions inherited from MiKTeX::Trace::TraceCallback
virtual bool Trace (const TraceMessage &traceMessage)=0
 

Static Public Member Functions

static ApplicationGetApplication ()
 

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()

static 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()

virtual void MiKTeX::App::Application::Finalize ( )
virtual

◆ Finalize2()

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

Frees application resources.

Parameters
exitCodeThe exit code to write to the log file.

◆ GetApplication()

static 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: