From 73adafc405eae26d9c65809ca5612967b8f534cb Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Wed, 19 Nov 2025 19:41:49 +0100 Subject: feat: libsteps: improvements on the steps library. Signed-off-by: Amlal El Mahrouss --- lib/libsteps/dev/.keep | 0 lib/libsteps/dev/lib/defines.hpp | 13 +++++++++++ lib/libsteps/dev/lib/steps.hpp | 45 ++++++++++++++++++++++++++++++++++++++ lib/libsteps/make_dist_linux.sh | 12 ++++++++++ lib/libsteps/make_dist_osx.sh | 11 ++++++++++ lib/libsteps/steps.h | 47 ---------------------------------------- 6 files changed, 81 insertions(+), 47 deletions(-) create mode 100644 lib/libsteps/dev/.keep create mode 100644 lib/libsteps/dev/lib/defines.hpp create mode 100644 lib/libsteps/dev/lib/steps.hpp create mode 100755 lib/libsteps/make_dist_linux.sh create mode 100755 lib/libsteps/make_dist_osx.sh delete mode 100644 lib/libsteps/steps.h (limited to 'lib') diff --git a/lib/libsteps/dev/.keep b/lib/libsteps/dev/.keep new file mode 100644 index 0000000..e69de29 diff --git a/lib/libsteps/dev/lib/defines.hpp b/lib/libsteps/dev/lib/defines.hpp new file mode 100644 index 0000000..4c7c38b --- /dev/null +++ b/lib/libsteps/dev/lib/defines.hpp @@ -0,0 +1,13 @@ +/* ------------------------------------------- + +Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. + +------------------------------------------- */ + +#pragma once + +#ifdef OCL_USE_UTF8 +#undef OCL_USE_UTF8 +#endif + +#include diff --git a/lib/libsteps/dev/lib/steps.hpp b/lib/libsteps/dev/lib/steps.hpp new file mode 100644 index 0000000..97af5f5 --- /dev/null +++ b/lib/libsteps/dev/lib/steps.hpp @@ -0,0 +1,45 @@ +/* ------------------------------------------- + +Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. + +------------------------------------------- */ + +#pragma once + +#include + +#define kStepsExtension ".stp" +#define kStepsStrLen (256U) + +#define kStepsMagic " pls" +#define kStepsMagicLen (4U) +#define kStepsVersion (0x0100) + +namespace steps { +struct record final { + ocl::char_type magic[kStepsMagicLen] = {kStepsMagic[0], kStepsMagic[1], + kStepsMagic[2], kStepsMagic[3]}; + ocl::char_type name[kStepsStrLen] = ""; + ocl::char_type company[kStepsStrLen] = ""; + ocl::char_type author[kStepsStrLen] = ""; + int32_t version = 0; + int32_t pages = 0; + int32_t check_page = 0, eula_page = 0; +}; + +namespace operators { +/// =========================================================== /// +/// @brief Equal operator for steps records. +/// =========================================================== /// +inline bool operator==(const record &r, const record &l) { + return (std::strncmp(r.magic, l.magic, kStepsMagicLen) == 0); +} + +/// =========================================================== /// +/// @brief Not equal operator for steps records. +/// =========================================================== /// +inline bool operator!=(const record &r, const record &l) { + return (std::strncmp(r.magic, l.magic, kStepsMagicLen) > 0); +} +} // namespace operators +} // namespace steps diff --git a/lib/libsteps/make_dist_linux.sh b/lib/libsteps/make_dist_linux.sh new file mode 100755 index 0000000..fe58a8d --- /dev/null +++ b/lib/libsteps/make_dist_linux.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +outputDir=dist/lib/ + +mkdir -p $outputDir + +for f in *.hpp; do +baseName=`echo $f | cut -d "." -f 1` +echo "RUN:" cp --parents $f.hpp $outputDir$baseName +cp --parents $f.hpp $outputDir$baseName +done + diff --git a/lib/libsteps/make_dist_osx.sh b/lib/libsteps/make_dist_osx.sh new file mode 100755 index 0000000..318ae4d --- /dev/null +++ b/lib/libsteps/make_dist_osx.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +outputDir=dist/ + +mkdir -p $outputDir + +for f in *.hpp; do +baseName=`echo $f | cut -d "." -f 1` +echo "RUN:" ditto $baseName.hpp $outputDir$baseName +ditto $baseName.hpp $outputDir$baseName +done diff --git a/lib/libsteps/steps.h b/lib/libsteps/steps.h deleted file mode 100644 index 357f0df..0000000 --- a/lib/libsteps/steps.h +++ /dev/null @@ -1,47 +0,0 @@ -/* ------------------------------------------- - -Copyright (C) 2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. - -------------------------------------------- */ - -#pragma once - -#include - -#define kSysStepsExtension ".stp" -#define kSysStepsStrLen (256U) - -#define kSysStepsMagic " pls" -#define kSysStepsMagicLen (4U) -#define kSysStepsVersion (0x0100) - -#define kStepsMime "ne-application-kind/steps" - -namespace steps { -struct record final { - char magic[kSysStepsMagicLen] = {kSysStepsMagic[0], kSysStepsMagic[1], - kSysStepsMagic[2], kSysStepsMagic[3]}; - char name[kSysStepsStrLen] = ""; - char company[kSysStepsStrLen] = ""; - char author[kSysStepsStrLen] = ""; - int32_t version = 0; - int32_t pages = 0; - int32_t check_page = 0, eula_page = 0; -}; - -namespace operators { -/// =========================================================== /// -/// @brief Equal operator for steps records. -/// =========================================================== /// -inline bool operator==(const record &r, const record &l) { - return (std::strncmp(r.magic, l.magic, kSysStepsMagicLen) == 0); -} - -/// =========================================================== /// -/// @brief Not equal operator for steps records. -/// =========================================================== /// -inline bool operator!=(const record &r, const record &l) { - return (std::strncmp(r.magic, l.magic, kSysStepsMagicLen) > 0); -} -} // namespace operators -} // namespace steps -- cgit v1.2.3