diff --git a/include/linuxdeploy/core/desktopfile.h b/include/linuxdeploy/core/desktopfile.h index 2e495cd..8005941 100644 --- a/include/linuxdeploy/core/desktopfile.h +++ b/include/linuxdeploy/core/desktopfile.h @@ -1,8 +1,12 @@ // system includes +#include // library includes #include +// local includes +#include "desktopfileentry.h" + #pragma once namespace linuxdeploy { @@ -12,7 +16,14 @@ namespace linuxdeploy { * Parse and read desktop files. */ class DesktopFile { - private: + public: + // describes a single section + typedef std::unordered_map section_t; + + // describes all sections in the desktop file + typedef std::unordered_map sections_t; + + private: // private data class pattern class PrivateData; PrivateData* d; diff --git a/src/core/desktopfileentry.h b/include/linuxdeploy/core/desktopfileentry.h similarity index 100% rename from src/core/desktopfileentry.h rename to include/linuxdeploy/core/desktopfileentry.h diff --git a/src/core/desktopfilereader.cpp b/src/core/desktopfilereader.cpp index aa04620..31f1fe3 100644 --- a/src/core/desktopfilereader.cpp +++ b/src/core/desktopfilereader.cpp @@ -6,7 +6,7 @@ // local headers #include "linuxdeploy/util/util.h" -#include "desktopfileentry.h" +#include "linuxdeploy/core/desktopfileentry.h" #include "desktopfilereader.h" namespace bf = boost::filesystem; @@ -17,7 +17,7 @@ namespace linuxdeploy { class DesktopFileReader::PrivateData { public: bf::path path; - sections_t sections; + DesktopFile::sections_t sections; public: bool isEmpty() { @@ -59,7 +59,7 @@ namespace linuxdeploy { auto title = line.substr(1, line.find(']') - 1); // set up the new section - sections.insert(std::make_pair(title, section_t())); + sections.insert(std::make_pair(title, DesktopFile::section_t())); currentSectionName = std::move(title); } else { // we require at least one section to be present in the desktop file @@ -146,7 +146,7 @@ namespace linuxdeploy { return d->path; } - DesktopFileReader::section_t DesktopFileReader::operator[](const std::string& name) { + DesktopFile::section_t DesktopFileReader::operator[](const std::string& name) { auto it = d->sections.find(name); // the map would lazy-initialize a new entry in case the section doesn't exist diff --git a/src/core/desktopfilereader.h b/src/core/desktopfilereader.h index d879cf7..7e3704c 100644 --- a/src/core/desktopfilereader.h +++ b/src/core/desktopfilereader.h @@ -3,13 +3,13 @@ // system includes #include #include -#include // library includes #include +#include // local includes -#include "desktopfileentry.h" +#include "linuxdeploy/core/desktopfileentry.h" namespace linuxdeploy { namespace core { @@ -21,13 +21,6 @@ namespace linuxdeploy { std::shared_ptr d; - public: - // describes a single section - typedef std::unordered_map section_t; - - // describes all sections in the desktop file - typedef std::unordered_map sections_t; - public: // default constructor DesktopFileReader(); @@ -62,7 +55,7 @@ namespace linuxdeploy { // get a specific section from the parsed data // throws std::range_error if section does not exist - section_t operator[](const std::string& name); + DesktopFile::section_t operator[](const std::string& name); }; } } diff --git a/tests/core/test_desktopfileentry.cpp b/tests/core/test_desktopfileentry.cpp index 0192664..c3d4407 100644 --- a/tests/core/test_desktopfileentry.cpp +++ b/tests/core/test_desktopfileentry.cpp @@ -4,7 +4,7 @@ #include // local headers -#include "../../src/core/desktopfileentry.h" +#include "linuxdeploy/core/desktopfileentry.h" using boost::bad_lexical_cast; using namespace linuxdeploy::core::desktopfile;