| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- // This file is part of Desktop App Toolkit,
- // a set of libraries for developing nice desktop applications.
- //
- // For license and copyright information please follow this link:
- // https://github.com/desktop-app/legal/blob/master/LEGAL
- //
- #include "base/assertion.h"
- #include "base/integration.h"
- #include "base/platform/base_platform_file_utilities.h"
- #include "base/debug_log.h"
- #include <QtCore/QFileInfo>
- #include <QtCore/QDir>
- namespace base {
- namespace {
- Integration *IntegrationInstance = nullptr;
- } // namespace
- void Integration::Set(not_null<Integration*> instance) {
- IntegrationInstance = instance;
- }
- Integration &Integration::Instance() {
- Expects(IntegrationInstance != nullptr);
- return *IntegrationInstance;
- }
- bool Integration::Exists() {
- return (IntegrationInstance != nullptr);
- }
- Integration::Integration(int argc, char *argv[]) {
- const auto path = Platform::CurrentExecutablePath(argc, argv);
- if (path.isEmpty()) {
- return;
- }
- auto info = QFileInfo(path);
- if (!info.exists()) {
- return;
- }
- info = QFileInfo(info.canonicalFilePath());
- const auto dir = info.path();
- _executableDir = dir.endsWith('/') ? dir : (dir + '/');
- _executableName = info.fileName();
- }
- void Integration::logAssertionViolation(const QString &info) {
- logMessage("Assertion Failed! " + info);
- }
- void Integration::setCrashAnnotation(
- const std::string &key,
- const QString &value) {
- }
- QString Integration::executableDir() const {
- return _executableDir;
- }
- QString Integration::executableName() const {
- return _executableName;
- }
- QString Integration::executablePath() const {
- return _executableDir + _executableName;
- }
- } // namespace base
|