.. _program_listing_file_include_editor_editor.hpp: Program Listing for File editor.hpp =================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/editor/editor.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "dbRoot.hpp" #include "gitWrapper.hpp" #include "jsonWrapper.hpp" #include #include "PDJE_EXPORT_SETTER.hpp" #include "fileNameSanitizer.hpp" class PDJE_API PDJE_Editor { private: fs::path pt; fs::path mixp; fs::path notep; fs::path musicp; fs::path kvp; DONT_SANITIZE name; DONT_SANITIZE email; public: std::pair, PDJE_JSONHandler> mixHandle; std::pair, PDJE_JSONHandler> noteHandle; std::pair, PDJE_JSONHandler> KVHandler; struct MusicHandleStruct { std::unique_ptr gith; PDJE_JSONHandler jsonh; SANITIZED musicName; fs::path dataPath; MusicHandleStruct() = delete; MusicHandleStruct(const MusicHandleStruct &) = delete; // MusicHandleStruct& operator=(const MusicHandleStruct&) = delete; MusicHandleStruct(MusicHandleStruct &&) noexcept = default; MusicHandleStruct & operator=(MusicHandleStruct &&) noexcept = default; MusicHandleStruct(const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email) : jsonh() { gith = std::make_unique(auth_name, auth_email); } }; std::vector musicHandle; bool AddMusicConfig(const SANITIZED &NewMusicName, fs::path &DataPath); bool openProject(const fs::path &projectPath); PDJE_Editor(const DONT_SANITIZE &auth_name, const DONT_SANITIZE &auth_email) : mixHandle{ std::make_unique(auth_name, auth_email), PDJE_JSONHandler{} }, noteHandle{ std::make_unique(auth_name, auth_email), PDJE_JSONHandler{} }, KVHandler{ std::make_unique(auth_name, auth_email), PDJE_JSONHandler{} }, name(auth_name), email(auth_email) { } ~PDJE_Editor() = default; };