diff options
Diffstat (limited to 'src/Data.cpp')
| -rw-r--r-- | src/Data.cpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/Data.cpp b/src/Data.cpp index 53adfa4..87a508a 100644 --- a/src/Data.cpp +++ b/src/Data.cpp | |||
| @@ -32,7 +32,19 @@ Data::Data(plist_t node) : Node(node) | |||
| 32 | { | 32 | { |
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | Data::Data(std::vector<char>& buff) : Node(PLIST_DATA) | 35 | Data::Data(PList::Data& d) : Node(PLIST_DATA) |
| 36 | { | ||
| 37 | std::vector<char> b = d.GetValue(); | ||
| 38 | plist_set_data_val(_node, &b[0], b.size()); | ||
| 39 | } | ||
| 40 | |||
| 41 | Data& Data::operator=(PList::Data& b) | ||
| 42 | { | ||
| 43 | plist_free(_node); | ||
| 44 | _node = plist_copy(b.GetPlist()); | ||
| 45 | } | ||
| 46 | |||
| 47 | Data::Data(const std::vector<char>& buff) : Node(PLIST_DATA) | ||
| 36 | { | 48 | { |
| 37 | plist_set_data_val(_node, &buff[0], buff.size()); | 49 | plist_set_data_val(_node, &buff[0], buff.size()); |
| 38 | } | 50 | } |
| @@ -41,7 +53,12 @@ Data::~Data() | |||
| 41 | { | 53 | { |
| 42 | } | 54 | } |
| 43 | 55 | ||
| 44 | void Data::SetValue(std::vector<char>& buff) | 56 | Node* Data::Clone() |
| 57 | { | ||
| 58 | return new Data(*this); | ||
| 59 | } | ||
| 60 | |||
| 61 | void Data::SetValue(const std::vector<char>& buff) | ||
| 45 | { | 62 | { |
| 46 | plist_set_data_val(_node, &buff[0], buff.size()); | 63 | plist_set_data_val(_node, &buff[0], buff.size()); |
| 47 | } | 64 | } |
