diff options
Diffstat (limited to 'libkms++/property.h')
-rw-r--r-- | libkms++/property.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/libkms++/property.h b/libkms++/property.h index 148e325..147496e 100644 --- a/libkms++/property.h +++ b/libkms++/property.h @@ -1,12 +1,24 @@ #pragma once #include "drmobject.h" +#include <map> +#include <vector> namespace kms { struct PropertyPriv; +enum class PropertyType +{ + Range, + Enum, + Blob, + Bitmask, + Object, + SignedRange, +}; + class Property : public DrmObject { friend class Card; @@ -14,10 +26,20 @@ public: const std::string& name() const; const std::string to_str(uint64_t val) const; + + bool is_immutable() const; + bool is_pending() const; + + PropertyType type() const { return m_type; } + std::map<uint64_t, std::string> get_enums() const; + std::vector<uint64_t> get_values() const; + std::vector<uint32_t> get_blob_ids() const; private: Property(Card& card, uint32_t id); ~Property(); + PropertyType m_type; + PropertyPriv* m_priv; std::string m_name; }; |