| // Windows/PropVariantUtils.h |
| |
| #ifndef ZIP7_INC_PROP_VARIANT_UTILS_H |
| #define ZIP7_INC_PROP_VARIANT_UTILS_H |
| |
| #include "../Common/MyString.h" |
| |
| #include "PropVariant.h" |
| |
| struct CUInt32PCharPair |
| { |
| UInt32 Value; |
| const char *Name; |
| }; |
| |
| AString TypePairToString(const CUInt32PCharPair *pairs, unsigned num, UInt32 value); |
| void PairToProp(const CUInt32PCharPair *pairs, unsigned num, UInt32 value, NWindows::NCOM::CPropVariant &prop); |
| |
| AString FlagsToString(const char * const *names, unsigned num, UInt32 flags); |
| AString FlagsToString(const CUInt32PCharPair *pairs, unsigned num, UInt32 flags); |
| void FlagsToProp(const char * const *names, unsigned num, UInt32 flags, NWindows::NCOM::CPropVariant &prop); |
| void FlagsToProp(const CUInt32PCharPair *pairs, unsigned num, UInt32 flags, NWindows::NCOM::CPropVariant &prop); |
| |
| AString TypeToString(const char * const table[], unsigned num, UInt32 value); |
| void TypeToProp(const char * const table[], unsigned num, UInt32 value, NWindows::NCOM::CPropVariant &prop); |
| |
| #define PAIR_TO_PROP(pairs, value, prop) PairToProp(pairs, Z7_ARRAY_SIZE(pairs), value, prop) |
| #define FLAGS_TO_PROP(pairs, value, prop) FlagsToProp(pairs, Z7_ARRAY_SIZE(pairs), value, prop) |
| #define TYPE_TO_PROP(table, value, prop) TypeToProp(table, Z7_ARRAY_SIZE(table), value, prop) |
| |
| void Flags64ToProp(const CUInt32PCharPair *pairs, unsigned num, UInt64 flags, NWindows::NCOM::CPropVariant &prop); |
| #define FLAGS64_TO_PROP(pairs, value, prop) Flags64ToProp(pairs, Z7_ARRAY_SIZE(pairs), value, prop) |
| |
| #endif |