42 lines
777 B
C++
42 lines
777 B
C++
#ifndef MYX_BASE_CURRENT_EXECUTABLE_INL_HPP_
|
|
#define MYX_BASE_CURRENT_EXECUTABLE_INL_HPP_
|
|
|
|
#pragma once
|
|
|
|
#ifndef MYXLIB_HEADER_ONLY
|
|
#include <myx/filesystem/current_executable.hpp>
|
|
#endif
|
|
|
|
#include <myx/base/config.hpp>
|
|
|
|
#include <paths.h>
|
|
|
|
#include <QCoreApplication>
|
|
#include <QString>
|
|
|
|
namespace myx {
|
|
|
|
namespace filesystem {
|
|
|
|
#if !defined ( __linux__ )
|
|
error "Class CurrentExecutable is supported only in Linux"
|
|
#endif
|
|
|
|
CurrentExecutable::CurrentExecutable() :
|
|
m_procFilePath( QStringLiteral( "/proc/self/exe" ) )
|
|
{
|
|
m_canonicalFilePath = m_procFilePath.canonicalFilePath();
|
|
}
|
|
|
|
|
|
const QFileInfo& CurrentExecutable::canonicalFilePath() const
|
|
{
|
|
return( m_canonicalFilePath );
|
|
}
|
|
|
|
} // namespace filesystem
|
|
|
|
} // namespace myx
|
|
|
|
#endif // MYX_BASE_CURRENT_EXECUTABLE_INL_HPP_
|