pmt: fix some minor typo issues and including problems etc. (more)

This commit is contained in:
2025-08-03 21:37:02 +03:00
parent fe51bf1644
commit 25e3630a2b
10 changed files with 81 additions and 40 deletions

View File

@@ -4,7 +4,8 @@
"includePath": [
"${workspaceFolder}/srclib/libhelper/include",
"${workspaceFolder}/srclib/libpartition_map/include",
"${workspaceFolder}/include"
"${workspaceFolder}/include",
"${workspaceFolder}/src/functions"
]
}
],

View File

@@ -29,36 +29,41 @@
#include <string_view>
#include <functional>
#include <vector>
#include <memory>
#include <libhelper/lib.hpp>
#include <libpartition_map/lib.hpp>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignore "-Wdeprecated-declarations"
#include <CLI/CLI11.hpp>
#pragma GCC diagnostic pop
#define PMT "libpmt"
#define PMTE "pmt"
#define PMTF "libpmt-function-manager"
#ifdef NEED_BASIC_FUNCTION_CLASSES
#include <memory>
#pragma GCC diagnostic push
#pragma GCC diagnostic ignore "-Wdeprecated-declarations"
#include <CLI/CLI11.hpp>
#pragma GCC diagnostic pop
#endif // #ifdef NEED_BASIC_FUNCTION_CLASSES
namespace PartitionManager {
class basic_function {
/**
* Example variables for writing your function:
* public:
* CLI::App cmd* = nullptr;
* basic_function
* --------------
* All function classes must inherit from this class.
*/
class basic_function {
public:
CLI::App* cmd = nullptr;
virtual bool init(CLI::App& _app) = 0;
virtual bool run() = 0;
virtual const char* name() = 0;
virtual ~basic_function() = default;
};
/**
* basic_function_manager
* ----------------------
* A class for function management.
*/
class basic_function_manager {
private:
std::vector<std::unique_ptr<basic_function>> _functions;
@@ -93,7 +98,7 @@ VariableTable* Variables;
int Main(int argc, char** argv);
std::string getLibVersion();
std::string getAppVersion(); // Not Android app version (an Android app is planned!), tells pmt and libs versions.
std::string getAppVersion(); // Not Android app version (an Android app is planned!), tells pmt version.
} // namespace PartitionManager

View File

@@ -17,7 +17,7 @@
#include <vector>
#include <memory>
#include <string>
#include <libpmt/lib.hpp>
#include <PartitionManager/lib.hpp>
namespace PartitionManager {

View File

@@ -17,12 +17,13 @@
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <libpmt/lib.hpp>
#include <PartitionManager/lib.hpp>
#include <generated/buildInfo.hpp>
#include "functions/functions.hpp"
namespace PartitionManager {
VariableTable::VariableTable() : PartMap(),
basic_variables::basic_variables() : PartMap(),
searchPath(""),
onLogical(false),
silentProcess(false),
@@ -44,10 +45,10 @@ try { // try-catch start
AppMain.add_flag("-V,--verbose", Variables->verboseMode, "Detailed information is written on the screen while the transaction is being carried out");
AppMain.add_flag("-v,--version", Variables->viewVersion, "Print version and exit");
FuncManager.registerFunction(std::make_unique<backupFunction>, AppMain);
FuncManager.registerFunction(std::make_unique<flashFunction>, AppMain);
FuncManager.registerFunction(std::make_unique<eraseFunction>, AppMain);
FuncManager.registerFunction(std::make_unique<partitionSizeFunction>, AppMain);
FuncManager.registerFunction(std::make_unique<backupFunction>(), AppMain);
FuncManager.registerFunction(std::make_unique<flashFunction>(), AppMain);
FuncManager.registerFunction(std::make_unique<eraseFunction>(), AppMain);
FuncManager.registerFunction(std::make_unique<partitionSizeFunction>(), AppMain);
CLI11_PARSE(AppMain, argc, argv);
@@ -56,7 +57,7 @@ try { // try-catch start
LOGN(PMTE, INFO) << "used command: " << used << std::endl;
if (!Variables->searchPath.empty())
Variables->PartMap(searchPath);
Variables->PartMap(Variables->searchPath);
if (!Variables->PartMap) {
if (Variables->searchPath.empty())
@@ -67,7 +68,7 @@ try { // try-catch start
} catch (Helper::Error &error) { // catch Helper::Error
if (!Variables->silentProcess) fprintf(stde9rr, "%s: %s.\n", argv[0], error.what());
if (!Variables->silentProcess) fprintf(stderr, "%s: %s.\n", argv[0], error.what());
delete Variables;
return -1;
@@ -79,4 +80,18 @@ try { // try-catch start
} // try-catch block end
}
std::string getLibVersion()
{
char vinfo[512];
sprintf(vinfo, MKVERSION("libpmt"));
return std::string(vinfo);
}
std::string getAppVersion()
{
char vinfo[512];
sprintf(vinfo, MKVERSION("pmt"));
return std::string(vinfo);
}
} // namespace PartitionManager

View File

@@ -14,7 +14,7 @@
limitations under the License.
*/
#include <libpmt/lib.hpp>
#include <PartitionManager/lib.hpp>
int main(int argc, char** argv)
{

View File

@@ -14,7 +14,7 @@
limitations under the License.
*/
#include <libpmt/lib.hpp>
#include <PartitionManager/lib.hpp>
namespace PartitionManager {

View File

@@ -81,7 +81,7 @@ void set(std::string_view name, std::string_view file);
void setProgramName(std::string_view name);
void setLogFile(std::string_view file);
void setPrinting(int state);
void setLoggingState(int state); // Disable/enable logginf
void setLoggingState(int state); // Disable/enable logging
void reset();
} // namespace LoggingProperties
@@ -196,4 +196,7 @@ std::string getLibVersion();
#define LOGNF_IF(name, file, level, condition) \
if (condition) Helper::Logger(level, __func__, file, name, __FILE__, __LINE__)
#define MKVERSION(name) \
"%s %s [%s %s]\nBuildType: %s\nCMakeVersion: %s\nCompilerVersion: %s\nBuildFlags: %s\n", name, BUILD_VERSION, BUILD_DATE, BUILD_TIME, BUILD_TYPE, BUILD_CMAKE_VERSION, BUILD_COMPILER_VERSION, BUILD_FLAGS
#endif // #ifndef LIBHELPER_LIB_HPP

View File

@@ -173,7 +173,7 @@ std::string pathDirname(const std::string_view entry)
std::string getLibVersion()
{
char vinfo[512];
sprintf(vinfo, "libhelper %s [%s %s]\nBuildType: %s\nCMakeVersion: %s\nCompilerVersion: %s\nBuildFlags: %s\n", BUILD_VERSION, BUILD_DATE, BUILD_TIME, BUILD_TYPE, BUILD_CMAKE_VERSION, BUILD_COMPILER_VERSION, BUILD_FLAGS);
sprintf(vinfo, MKVERSION("libhelper"));
return std::string(vinfo);
}

View File

@@ -38,6 +38,12 @@ struct _entry {
} props;
};
/**
* basic_partition_map
* -------------------
* The main type of the library. The Builder class is designed
* to be easily manipulated and modified only on this class.
*/
class basic_partition_map {
private:
void _resize_map();
@@ -139,16 +145,14 @@ public:
/**
* Secondary constructor
* ---------------------
* It has two arguments:
* It has one arguments:
* - Directory path to search
*/
basic_partition_map_builder(const std::string_view path);
/**
* getAll()
* ------
* WARNING: Learn about std::optional before using this function.
*
* --------
* Returns the current list content in Map_t type.
* If no list is created, returns std::nullopt.
*/
@@ -308,6 +312,13 @@ public:
* and false if the object is correctly created.
*/
bool operator!() const;
/**
* () operator
* -----------
* Build map with input path. Implementation of readDirectory().
*/
bool operator()(const std::string_view path);
};
using Error = Helper::Error;

View File

@@ -211,10 +211,16 @@ bool basic_partition_map_builder::operator!() const
return this->_any_generating_error;
}
bool basic_partition_map_builder::operator()(const std::string_view path)
{
LOGN(MAP, INFO) << "calling readDirectory() for building map with " << path << std::endl;
return readDirectory(path);
}
std::string getLibVersion()
{
char vinfo[512];
sprintf(vinfo, "libpartition_map %s [%s %s]\nBuildType: %s\nCMakeVersion: %s\nCompilerVersion: %s\nBuildFlags: %s\n", BUILD_VERSION, BUILD_DATE, BUILD_TIME, BUILD_TYPE, BUILD_CMAKE_VERSION, BUILD_COMPILER_VERSION, BUILD_FLAGS);
sprintf(vinfo, MKVERSION("libpartition_map"));
return std::string(vinfo);
}