|
PST File Format SDK v0.4
|
Property Context (PC) Implementation. More...
#include <propbag.h>
Inheritance diagram for pstsdk::property_bag:
Collaboration diagram for pstsdk::property_bag:Public Member Functions | |
| property_bag (const node &n) | |
| Construct a property_bag from this node. | |
| property_bag (const node &n, alias_tag) | |
| Construct a property_bag from this node. | |
| property_bag (const heap &h) | |
| Construct a property_bag from this heap. | |
| property_bag (const heap &h, alias_tag) | |
| Construct a property_bag from this heap. | |
| property_bag (const property_bag &other) | |
| Copy construct a property_bag. | |
| property_bag (const property_bag &other, alias_tag) | |
| Alias a property_bag. | |
| property_bag (property_bag &&other) | |
| Move construct a property_bag. | |
| std::vector< prop_id > | get_prop_list () const |
| Get a list of all properties on this object. | |
| prop_type | get_prop_type (prop_id id) const |
| Get the property type of a given prop_id. | |
| bool | prop_exists (prop_id id) const |
| Indicates the existance of a given property on this object. | |
| size_t | size (prop_id id) const |
| Returns the total size of a variable length property. | |
| hnid_stream_device | open_prop_stream (prop_id id) |
| Creates a stream device over a property on this object. | |
| const node & | get_node () const |
| Get the node underlying this property_bag. | |
| node & | get_node () |
| Get the node underlying this property_bag. | |
| std::vector< byte > | get_value_variable (prop_id id) const |
| Implemented by child classes to fetch a variable sized property. | |
Public Member Functions inherited from pstsdk::const_property_object | |
| virtual | ~const_property_object () |
| template<typename T > | |
| T | read_prop (prop_id id) const |
| Read a property as a given type. | |
| template<typename T > | |
| std::optional< T > | read_prop_if_exists (prop_id id) const |
| Read a property as a given type, if it exists. | |
| template<typename T > | |
| std::vector< T > | read_prop_array (prop_id id) const |
| Read a property as an array of the given type. | |
| template<> | |
| bool | read_prop (prop_id id) const |
| template<> | |
| std::vector< bool > | read_prop_array (prop_id id) const |
| template<> | |
| time_t | read_prop (prop_id id) const |
| template<> | |
| std::vector< time_t > | read_prop_array (prop_id id) const |
Additional Inherited Members |
Property Context (PC) Implementation.
A Property Context is simply a BTH where the BTH is stored as the client root allocation in the heap. The BTH contains a "prop_entry", which is defines the type of the property and it's storage.
const_property_object does most of the heavy lifting in terms of property access and interpretation.
Construct a property_bag from this node.
| [in] | n | The node to copy and interpret as a property_bag |
Construct a property_bag from this node.
| [in] | n | The node to alias and interpret as a property_bag |
Construct a property_bag from this heap.
| [in] | h | The heap to copy and interpret as a property_bag |
Construct a property_bag from this heap.
| [in] | h | The heap to alias and interpret as a property_bag |
|
inline |
Copy construct a property_bag.
| other | The property bag to copy |
|
inline |
Alias a property_bag.
| other | The property bag to alias |
|
inline |
Move construct a property_bag.
| other | The property bag to move from |
|
inline |
|
inlinevirtual |
Get a list of all properties on this object.
Implements pstsdk::const_property_object.
Get the property type of a given prop_id.
| [in] | id | The prop_id |
| key_not_found<prop_id> | If the specified property is not present |
Implements pstsdk::const_property_object.
|
inlinevirtual |
Implemented by child classes to fetch a variable sized property.
Implements pstsdk::const_property_object.
|
inlinevirtual |
Creates a stream device over a property on this object.
The returned stream device can be used to construct a proper stream:
Which can then be used as any iostream would be.
| [in] | id | The prop_id |
| key_not_found<prop_id> | If the specified property is not present |
Implements pstsdk::const_property_object.
|
inlinevirtual |
Indicates the existance of a given property on this object.
| [in] | id | The prop_id |
Implements pstsdk::const_property_object.
|
inlinevirtual |
Returns the total size of a variable length property.
| [in] | id | The prop_id |
Implements pstsdk::const_property_object.