aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/katja/database.hpp11
-rw-r--r--include/katja/repository.hpp10
-rw-r--r--include/katja/sbo.hpp29
3 files changed, 49 insertions, 1 deletions
diff --git a/include/katja/database.hpp b/include/katja/database.hpp
index d4d99e6..ee4816e 100644
--- a/include/katja/database.hpp
+++ b/include/katja/database.hpp
@@ -1,6 +1,12 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ */
#pragma once
#include <string>
+#include <map>
namespace katja
{
@@ -21,8 +27,11 @@ namespace katja
database_package(const std::string& fullname);
+ bool operator<(const database_package& that) const;
+ bool operator>(const database_package& that) const;
+
std::string to_string() const;
};
-
+ std::multimap<std::string, database_package> read_installed_database();
}
diff --git a/include/katja/repository.hpp b/include/katja/repository.hpp
new file mode 100644
index 0000000..ca20277
--- /dev/null
+++ b/include/katja/repository.hpp
@@ -0,0 +1,10 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ */
+#pragma once
+
+namespace katja
+{
+}
diff --git a/include/katja/sbo.hpp b/include/katja/sbo.hpp
new file mode 100644
index 0000000..ff16dd7
--- /dev/null
+++ b/include/katja/sbo.hpp
@@ -0,0 +1,29 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
+ */
+#pragma once
+
+#include <string>
+#include <vector>
+#include <filesystem>
+#include <optional>
+
+namespace katja
+{
+ struct info_file
+ {
+ const std::string program_name;
+ const std::string version;
+ const std::string homepage;
+ const std::string email;
+ const std::string maintainer;
+
+ info_file(const std::string& program_name, const std::string& version,
+ const std::string homepage, const std::string& email, const std::string& maintainer);
+ };
+
+ std::optional<info_file> read_slackbuild_info(const std::filesystem::path& info_filepath);
+ void search_for_slackbuilds(std::vector<info_file>& info_files, const std::filesystem::path& directory);
+}