diff options
| author | 2009-10-16 22:26:13 +0200 | |
|---|---|---|
| committer | 2009-10-16 22:26:13 +0200 | |
| commit | 32be8ec384bfd78e189d3de6609e50cf4dd072a2 (patch) | |
| tree | ac7edad0f19be2a31efaaaaa3acd477dd2f3c233 /include/plist | |
| parent | 8aeef4dd2331445fea8a7a40466b19973e9d09c4 (diff) | |
| download | libplist-32be8ec384bfd78e189d3de6609e50cf4dd072a2.tar.gz libplist-32be8ec384bfd78e189d3de6609e50cf4dd072a2.tar.bz2 | |
Fix Node lifecycle and change argument as reference to const reference.
Diffstat (limited to 'include/plist')
| -rw-r--r-- | include/plist/Array.h | 6 | ||||
| -rw-r--r-- | include/plist/Boolean.h | 4 | ||||
| -rw-r--r-- | include/plist/Data.h | 8 | ||||
| -rw-r--r-- | include/plist/Date.h | 4 | ||||
| -rw-r--r-- | include/plist/Dictionary.h | 12 | ||||
| -rw-r--r-- | include/plist/Integer.h | 4 | ||||
| -rw-r--r-- | include/plist/Node.h | 8 | ||||
| -rw-r--r-- | include/plist/Real.h | 4 | ||||
| -rw-r--r-- | include/plist/String.h | 8 | ||||
| -rw-r--r-- | include/plist/Utils.h | 4 | 
10 files changed, 45 insertions, 17 deletions
| diff --git a/include/plist/Array.h b/include/plist/Array.h index f990928..106555d 100644 --- a/include/plist/Array.h +++ b/include/plist/Array.h @@ -34,9 +34,11 @@ class Array : public Structure  	Array();  	Array(plist_t node);  	Array(Array& a); -	Array& operator=(const Array& a); +	Array& operator=(Array& a);  	virtual ~Array(); -	 + +	Node* Clone(); +  	Node* operator[](unsigned int index);  	void Append(Node* node);  	void Insert(Node* node, unsigned int pos); diff --git a/include/plist/Boolean.h b/include/plist/Boolean.h index 01b5b85..917bc9d 100644 --- a/include/plist/Boolean.h +++ b/include/plist/Boolean.h @@ -32,9 +32,13 @@ class Boolean : public Node      public :  	Boolean();  	Boolean(plist_t node); +	Boolean(Boolean& b); +	Boolean& operator=(Boolean& b);  	Boolean(bool b);  	virtual ~Boolean(); +	Node* Clone(); +  	void SetValue(bool b);  	bool GetValue();  }; diff --git a/include/plist/Data.h b/include/plist/Data.h index 92bda0a..86a26d9 100644 --- a/include/plist/Data.h +++ b/include/plist/Data.h @@ -33,10 +33,14 @@ class Data : public Node      public :  	Data();  	Data(plist_t node); -	Data(std::vector<char>& buff); +	Data(Data& d); +	Data& operator=(Data& d); +	Data(const std::vector<char>& buff);  	virtual ~Data(); -	void SetValue(std::vector<char>& buff); +	Node* Clone(); + +	void SetValue(const std::vector<char>& buff);  	std::vector<char> GetValue();  }; diff --git a/include/plist/Date.h b/include/plist/Date.h index 78d8601..e9645aa 100644 --- a/include/plist/Date.h +++ b/include/plist/Date.h @@ -32,9 +32,13 @@ class Date : public Node      public :  	Date();  	Date(plist_t node); +	Date(Date& d); +	Date& operator=(Date& d);  	Date(uint64_t i);  	virtual ~Date(); +	Node* Clone(); +  	void SetValue(uint64_t i);  	uint64_t GetValue();  }; diff --git a/include/plist/Dictionary.h b/include/plist/Dictionary.h index 8468ab5..6169774 100644 --- a/include/plist/Dictionary.h +++ b/include/plist/Dictionary.h @@ -35,17 +35,19 @@ class Dictionary : public Structure  	Dictionary();  	Dictionary(plist_t node);  	Dictionary(Dictionary& d); -	Dictionary& operator=(const Dictionary& d); +	Dictionary& operator=(Dictionary& d);  	virtual ~Dictionary(); -	 + +	Node* Clone(); +  	typedef std::map<std::string,Node*>::iterator iterator; -	Node* operator[](std::string& key); +	Node* operator[](const std::string& key);  	iterator Begin();  	iterator End(); -	void Insert(std::string& key, Node* node); +	void Insert(const std::string& key, Node* node);  	void Remove(Node* node); -	void Remove(std::string& key); +	void Remove(const std::string& key);      private :  	std::map<std::string,Node*> _map; diff --git a/include/plist/Integer.h b/include/plist/Integer.h index 823e3a0..3a3a0e3 100644 --- a/include/plist/Integer.h +++ b/include/plist/Integer.h @@ -32,9 +32,13 @@ class Integer : public Node      public :  	Integer();  	Integer(plist_t node); +	Integer(Integer& i); +	Integer& operator=(Integer& i);  	Integer(uint64_t i);  	virtual ~Integer(); +	Node* Clone(); +  	void SetValue(uint64_t i);  	uint64_t GetValue();  }; diff --git a/include/plist/Node.h b/include/plist/Node.h index 3be900a..a59d469 100644 --- a/include/plist/Node.h +++ b/include/plist/Node.h @@ -31,11 +31,11 @@ class Node  {      public :  	virtual ~Node(); -	Node(Node& node); -	Node& operator=(const Node& node); -	 + +	virtual Node* Clone() = 0; +  	plist_type GetType(); -	plist_t GetPlist() const; +	plist_t GetPlist();      protected:  	Node(); diff --git a/include/plist/Real.h b/include/plist/Real.h index 8d898c7..c0095e4 100644 --- a/include/plist/Real.h +++ b/include/plist/Real.h @@ -32,9 +32,13 @@ class Real : public Node      public :  	Real();  	Real(plist_t node); +	Real(Real& d); +	Real& operator=(Real& d);  	Real(double d);  	virtual ~Real(); +	Node* Clone(); +  	void SetValue(double d);  	double GetValue();  }; diff --git a/include/plist/String.h b/include/plist/String.h index 5314065..769c98b 100644 --- a/include/plist/String.h +++ b/include/plist/String.h @@ -33,10 +33,14 @@ class String : public Node      public :  	String();  	String(plist_t node); -	String(std::string& s); +	String(String& s); +	String& operator=(String& s); +	String(const std::string& s);  	virtual ~String(); -	void SetValue(std::string& s); +	Node* Clone(); + +	void SetValue(const std::string& s);  	std::string GetValue();  }; diff --git a/include/plist/Utils.h b/include/plist/Utils.h index b499635..f3e2685 100644 --- a/include/plist/Utils.h +++ b/include/plist/Utils.h @@ -30,8 +30,8 @@ namespace PList      class Utils      {  	public: -	    static Structure* FromXml(std::string& in); -	    static Structure* FromBin(std::vector<char>& in); +	    static Structure* FromXml(const std::string& in); +	    static Structure* FromBin(const std::vector<char>& in);  	private:  	    Utils(); | 
