diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-11 02:37:39 -0600 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-02-11 02:37:39 -0600 |
| commit | 7ee008e150bc5bcf76082d726f719ee0fdfda982 (patch) | |
| tree | 27fb39be241fdb5ac2734c574de678977d1856d0 /libs/archive/src/propertyvariant.h | |
Fluorine Manager: full Linux port of Mod Organizer 2
Complete native Linux port with FUSE-based virtual filesystem,
Proton/umu-run integration, and Flatpak packaging.
Key features:
- FUSE VFS replacing Windows USVFS (in-process + standalone helper for Flatpak)
- Proton/GE-Proton/umu-run launcher with env var forwarding
- Flatpak support (sandbox-aware VFS, NXM handler, umu-run)
- Wine prefix management UI
- Case-insensitive path resolution for Linux filesystems
- QSettings-safe INI handling (avoids Bethesda INI corruption)
- Portable instance support with auto-generated launcher scripts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'libs/archive/src/propertyvariant.h')
| -rw-r--r-- | libs/archive/src/propertyvariant.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/libs/archive/src/propertyvariant.h b/libs/archive/src/propertyvariant.h new file mode 100644 index 0000000..0748d94 --- /dev/null +++ b/libs/archive/src/propertyvariant.h @@ -0,0 +1,56 @@ +/* +Mod Organizer archive handling + +Copyright (C) 2012 Sebastian Herbord, 2020 MO2 Team. All rights reserved. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 3 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#ifndef PROPERTYVARIANT_H +#define PROPERTYVARIANT_H + +#ifdef _WIN32 +#include <PropIdl.h> +#else +#include <Common/MyWindows.h> +#endif + +/** This class implements a wrapper round the PROPVARIANT structure which + * makes it a little friendler to use and a little more C++ish + * + * Sadly the inheritance needs to be public. Once you have a pointer to the + * base class you can do pretty much anything to it anyway. + */ +class PropertyVariant : public tagPROPVARIANT +{ +public: + PropertyVariant(); + ~PropertyVariant(); + + // clears the property should you wish to overwrite it with another one. + void clear(); + + bool is_empty() { return vt == VT_EMPTY; } + + // It's too much like hard work listing all the valid ones. If it doesn't + // link, then you need to implement it... + template <typename T> + explicit operator T() const; + + template <typename T> + PropertyVariant& operator=(T const&); +}; + +#endif // PROPVARIANT_H |
