Commit 8186a9d3 authored by Jonathan Beck's avatar Jonathan Beck

Fix various mistakes in C++ bindings.

parent a922b714
......@@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef STRING_H
#define STRING_H
#ifndef ARRAY_H
#define ARRAY_H
#include <plist/Structure.h>
#include <vector>
......@@ -49,4 +49,4 @@ class Array : public Structure
};
#endif // STRING_H
#endif // ARRAY_H
......@@ -31,6 +31,7 @@ class Boolean : public Node
{
public :
Boolean();
Boolean(plist_t node);
Boolean(bool b);
virtual ~Boolean();
......
......@@ -32,6 +32,7 @@ class Data : public Node
{
public :
Data();
Data(plist_t node);
Data(std::vector<char>& buff);
virtual ~Data();
......
......@@ -31,6 +31,7 @@ class Date : public Node
{
public :
Date();
Date(plist_t node);
Date(uint64_t i);
virtual ~Date();
......
......@@ -31,6 +31,7 @@ class Integer : public Node
{
public :
Integer();
Integer(plist_t node);
Integer(uint64_t i);
virtual ~Integer();
......
......@@ -31,7 +31,6 @@ class Node
{
public :
virtual ~Node();
Node(plist_t node);
Node(Node& node);
Node& operator=(const Node& node);
......@@ -40,6 +39,7 @@ class Node
protected:
Node();
Node(plist_t node);
Node(plist_type type);
plist_t _node;
};
......
......@@ -31,6 +31,7 @@ class Real : public Node
{
public :
Real();
Real(plist_t node);
Real(double d);
virtual ~Real();
......
......@@ -32,6 +32,7 @@ class String : public Node
{
public :
String();
String(plist_t node);
String(std::string& s);
virtual ~String();
......
......@@ -21,6 +21,12 @@
#include <stdlib.h>
#include <plist/Array.h>
#include <plist/Dictionary.h>
#include <plist/Boolean.h>
#include <plist/Integer.h>
#include <plist/Real.h>
#include <plist/String.h>
#include <plist/Date.h>
#include <plist/Data.h>
namespace PList
{
......@@ -48,13 +54,24 @@ Array::Array(plist_t node) : Structure()
_array.push_back( new Array(subnode) );
break;
case PLIST_BOOLEAN:
_array.push_back( new Boolean(subnode) );
break;
case PLIST_UINT:
_array.push_back( new Integer(subnode) );
break;
case PLIST_REAL:
_array.push_back( new Real(subnode) );
break;
case PLIST_STRING:
_array.push_back( new String(subnode) );
break;
case PLIST_DATE:
_array.push_back( new Date(subnode) );
break;
case PLIST_DATA:
_array.push_back( new Data(subnode) );
break;
default:
_array.push_back( new Node(subnode) );
break;
}
}
......@@ -85,13 +102,24 @@ Array::Array(Array& a)
_array.push_back( new Array(subnode) );
break;
case PLIST_BOOLEAN:
_array.push_back( new Boolean(subnode) );
break;
case PLIST_UINT:
_array.push_back( new Integer(subnode) );
break;
case PLIST_REAL:
_array.push_back( new Real(subnode) );
break;
case PLIST_STRING:
_array.push_back( new String(subnode) );
break;
case PLIST_DATE:
_array.push_back( new Date(subnode) );
break;
case PLIST_DATA:
_array.push_back( new Data(subnode) );
break;
default:
_array.push_back( new Node(subnode) );
break;
}
}
......@@ -122,13 +150,24 @@ Array& Array::operator=(const Array& a)
_array.push_back( new Array(subnode) );
break;
case PLIST_BOOLEAN:
_array.push_back( new Boolean(subnode) );
break;
case PLIST_UINT:
_array.push_back( new Integer(subnode) );
break;
case PLIST_REAL:
_array.push_back( new Real(subnode) );
break;
case PLIST_STRING:
_array.push_back( new String(subnode) );
break;
case PLIST_DATE:
_array.push_back( new Date(subnode) );
break;
case PLIST_DATA:
_array.push_back( new Data(subnode) );
break;
default:
_array.push_back( new Node(subnode) );
break;
}
}
......
......@@ -28,6 +28,10 @@ Boolean::Boolean() : Node(PLIST_BOOLEAN)
{
}
Boolean::Boolean(plist_t node) : Node(node)
{
}
Boolean::Boolean(bool b) : Node(PLIST_BOOLEAN)
{
plist_set_bool_val(_node, b);
......
......@@ -28,6 +28,10 @@ Data::Data() : Node(PLIST_DATA)
{
}
Data::Data(plist_t node) : Node(node)
{
}
Data::Data(std::vector<char>& buff) : Node(PLIST_DATA)
{
plist_set_data_val(_node, &buff[0], buff.size());
......
......@@ -28,6 +28,10 @@ Date::Date() : Node(PLIST_DATE)
{
}
Date::Date(plist_t node) : Node(node)
{
}
Date::Date(uint64_t i) : Node(PLIST_DATE)
{
plist_set_date_val(_node, i, 0);
......
......@@ -21,6 +21,12 @@
#include <stdlib.h>
#include <plist/Dictionary.h>
#include <plist/Array.h>
#include <plist/Boolean.h>
#include <plist/Integer.h>
#include <plist/Real.h>
#include <plist/String.h>
#include <plist/Date.h>
#include <plist/Data.h>
namespace PList
{
......@@ -50,13 +56,24 @@ Dictionary::Dictionary(plist_t node) : Structure()
_map[std::string(key)] = new Array(subnode);
break;
case PLIST_BOOLEAN:
_map[std::string(key)] = new Boolean(subnode);
break;
case PLIST_UINT:
_map[std::string(key)] = new Integer(subnode);
break;
case PLIST_REAL:
_map[std::string(key)] = new Real(subnode);
break;
case PLIST_STRING:
_map[std::string(key)] = new String(subnode);
break;
case PLIST_DATE:
_map[std::string(key)] = new Date(subnode);
break;
case PLIST_DATA:
_map[std::string(key)] = new Data(subnode);
break;
default:
_map[std::string(key)] = new Node(subnode);
break;
}
......@@ -96,13 +113,24 @@ Dictionary::Dictionary(Dictionary& d)
_map[std::string(key)] = new Array(subnode);
break;
case PLIST_BOOLEAN:
_map[std::string(key)] = new Boolean(subnode);
break;
case PLIST_UINT:
_map[std::string(key)] = new Integer(subnode);
break;
case PLIST_REAL:
_map[std::string(key)] = new Real(subnode);
break;
case PLIST_STRING:
_map[std::string(key)] = new String(subnode);
break;
case PLIST_DATE:
_map[std::string(key)] = new Date(subnode);
break;
case PLIST_DATA:
_map[std::string(key)] = new Data(subnode);
break;
default:
_map[std::string(key)] = new Node(subnode);
break;
}
......@@ -142,13 +170,24 @@ Dictionary& Dictionary::operator=(const Dictionary& d)
_map[std::string(key)] = new Array(subnode);
break;
case PLIST_BOOLEAN:
_map[std::string(key)] = new Boolean(subnode);
break;
case PLIST_UINT:
_map[std::string(key)] = new Integer(subnode);
break;
case PLIST_REAL:
_map[std::string(key)] = new Real(subnode);
break;
case PLIST_STRING:
_map[std::string(key)] = new String(subnode);
break;
case PLIST_DATE:
_map[std::string(key)] = new Date(subnode);
break;
case PLIST_DATA:
_map[std::string(key)] = new Data(subnode);
break;
default:
_map[std::string(key)] = new Node(subnode);
break;
}
......
......@@ -28,6 +28,10 @@ Integer::Integer() : Node(PLIST_UINT)
{
}
Integer::Integer(plist_t node) : Node(node)
{
}
Integer::Integer(uint64_t i) : Node(PLIST_UINT)
{
plist_set_uint_val(_node, i);
......
......@@ -28,6 +28,10 @@ Real::Real() : Node(PLIST_REAL)
{
}
Real::Real(plist_t node) : Node(node)
{
}
Real::Real(double d) : Node(PLIST_REAL)
{
plist_set_real_val(_node, d);
......
......@@ -28,6 +28,10 @@ String::String() : Node(PLIST_STRING)
{
}
String::String(plist_t node) : Node(node)
{
}
String::String(std::string& s) : Node(PLIST_STRING)
{
plist_set_string_val(_node, s.c_str());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment