From de4c5b12eb264c9a5b8244fac8cea25e01be18be Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 26 六月 2024 18:34:05 +0800
Subject: [PATCH] update folder data item

---
 jrj/xframe/kobject/kxml.hpp |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index f152062..050b9e5 100644
--- a/jrj/xframe/kobject/kxml.hpp
+++ b/jrj/xframe/kobject/kxml.hpp
@@ -133,6 +133,16 @@
 		KXMLDOMNode(const KXMLDOMNode& rhs);
 		const KXMLDOMNode& operator =(const KXMLDOMNode& rhs);
 	public:
+		unsigned long AddRef();
+		unsigned long Release();
+	public:
+		LPARAM ptr()
+		{
+			this->AddRef();
+			return (LPARAM)this->getImpl();
+		}
+		KXMLDOMNode(LPARAM p) :KXMLDOMNode((void*)p) {}
+	public:
 		operator bool() { return impl ? true : false; }
 	public:
 		void* getImpl();
@@ -199,6 +209,8 @@
 		KXMLDOMElement( KXMLDOMNode v);
 		KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {}
 		KXMLDOMElement() :KXMLDOMNode() {}
+	public:
+		KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {}
 	};
 	class KXMLDOMAttribute : public KXMLDOMNode
 	{
@@ -247,16 +259,35 @@
 		KXMLDOMDocumentFragment(void* impl) :KXMLDOMNode(impl) {}
 	};
 
-	class KXMLParseError : public KXMLDOMNode
-	{
-	public:
-		KXMLParseError(KXMLDOMNode& v);
-		KXMLParseError(void* impl) :KXMLDOMNode(impl) {}
-	};
 }}
+
+
 
 using KXMLDOMDocument=Hxsoft::XFrame::KXMLDOMDocument;
 using KXMLDOMNode=Hxsoft::XFrame::KXMLDOMNode;
 using KXMLDOMElement=Hxsoft::XFrame::KXMLDOMElement;
 using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList;
 
+class KXMLParseError : public KXMLDOMNode
+{
+public:
+	KXMLParseError(KXMLDOMNode& v);
+	KXMLParseError(void* impl) :KXMLDOMNode(impl) {}
+};
+
+class KXMLDOMElementPtr
+{
+private:
+	KXMLDOMElement* m_pElement;
+public:
+	KXMLDOMElementPtr(LPARAM ele) :m_pElement((KXMLDOMElement*)ele) {}
+	KXMLDOMElementPtr(KXMLDOMElement* pEle) :m_pElement(pEle) {}
+	KXMLDOMElementPtr(KXMLDOMElement ele) :m_pElement(new KXMLDOMElement(ele)) {}
+public:
+	KXMLDOMElement* value() { return m_pElement; }
+public:
+	operator KXMLDOMElement* () { return m_pElement; }
+	operator KXMLDOMElement& () { return *m_pElement; }
+	KXMLDOMElement* operator -> () { return m_pElement; }
+};
+

--
Gitblit v1.9.3