From de9349d5502e956b09cebccb2c9dbb66f62a42f0 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期一, 15 七月 2024 17:34:05 +0800 Subject: [PATCH] update --- jrj/xframe/kobject/kxml.hpp | 37 ++++++++++++++++++++++++++++++------- 1 files changed, 30 insertions(+), 7 deletions(-) diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp index d3c41a1..f6ed27c 100644 --- a/jrj/xframe/kobject/kxml.hpp +++ b/jrj/xframe/kobject/kxml.hpp @@ -133,13 +133,43 @@ 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; } + bool operator !=(KXMLDOMNode& rhs) { return rhs.getImpl() != getImpl(); } + bool operator ==(KXMLDOMNode& rhs) { return rhs.getImpl() == getImpl(); } public: void* getImpl(); }; + + class KXMLDOMElement : public KXMLDOMNode + { + public: + KXMLDOMElement(KXMLDOMNode v); + KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} + KXMLDOMElement() :KXMLDOMNode() {} + public: + KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) { + AddRef(); + } + }; + class KXMLDOMDocument : public KXMLDOMNode { + public: + bool operator !() + { + return !impl || !documentElement(); + } public: const wchar_t* text(); const wchar_t* url(); @@ -193,13 +223,6 @@ KXMLDOMDocument(const KXMLDOMDocument& rhs); }; - class KXMLDOMElement : public KXMLDOMNode - { - public: - KXMLDOMElement( KXMLDOMNode v); - KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} - KXMLDOMElement() :KXMLDOMNode() {} - }; class KXMLDOMAttribute : public KXMLDOMNode { public: -- Gitblit v1.9.3