X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Ftools%2Fmakeappimagetool%2Fincludes%2Fdesktopfilewriter.h;fp=cinelerra-5.1%2Ftools%2Fmakeappimagetool%2Fincludes%2Fdesktopfilewriter.h;h=47568dd9f872aa70fada55f32fd7bb1f19a0175d;hb=194ea84742f4d9973b1aad567fe833ca13a8c4f9;hp=0000000000000000000000000000000000000000;hpb=d8393b13b37b8654f0039ec1dba9a71c02af9411;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/tools/makeappimagetool/includes/desktopfilewriter.h b/cinelerra-5.1/tools/makeappimagetool/includes/desktopfilewriter.h new file mode 100644 index 00000000..47568dd9 --- /dev/null +++ b/cinelerra-5.1/tools/makeappimagetool/includes/desktopfilewriter.h @@ -0,0 +1,53 @@ +#pragma once + +// system includes +#include +#include + +// local includes +#include "desktopfile.h" +#include "desktopfileentry.h" + +namespace linuxdeploy { + namespace desktopfile { + class DesktopFileWriter { + private: + // opaque data class pattern + class PrivateData; + std::shared_ptr d; + + public: + // default constructor + DesktopFileWriter(); + + // construct from data + explicit DesktopFileWriter(DesktopFile::sections_t data); + + // copy constructor + DesktopFileWriter(const DesktopFileWriter& other); + + // copy assignment constructor + DesktopFileWriter& operator=(const DesktopFileWriter& other); + + // move assignment operator + DesktopFileWriter& operator=(DesktopFileWriter&& other) noexcept; + + // equality operator + bool operator==(const DesktopFileWriter& other) const; + + // inequality operator + bool operator!=(const DesktopFileWriter& other) const; + + public: + // returns desktop file path + DesktopFile::sections_t data() const; + + public: + // save to given path + void save(const std::string& path); + + // save to given ostream + void save(std::ostream& os); + }; + } +}