mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 04:07:12 -06:00
31 lines
1.1 KiB
C
31 lines
1.1 KiB
C
// Windows/PropVariantUtils.h
|
|
|
|
#ifndef __PROP_VARIANT_UTILS_H
|
|
#define __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 **names, unsigned num, UInt32 flags);
|
|
AString FlagsToString(const CUInt32PCharPair *pairs, unsigned num, UInt32 flags);
|
|
void FlagsToProp(const CUInt32PCharPair *pairs, unsigned num, UInt32 flags, NWindows::NCOM::CPropVariant &prop);
|
|
|
|
AString TypeToString(const char *table[], unsigned num, UInt32 value);
|
|
void TypeToProp(const char *table[], unsigned num, UInt32 value, NWindows::NCOM::CPropVariant &prop);
|
|
|
|
#define PAIR_TO_PROP(pairs, value, prop) PairToProp(pairs, ARRAY_SIZE(pairs), value, prop)
|
|
#define FLAGS_TO_PROP(pairs, value, prop) FlagsToProp(pairs, ARRAY_SIZE(pairs), value, prop)
|
|
#define TYPE_TO_PROP(table, value, prop) TypeToProp(table, ARRAY_SIZE(table), value, prop)
|
|
|
|
#endif
|