From 01ecca79b7c23d690ba21fb182dd1f56f2f182ed Mon Sep 17 00:00:00 2001 From: xj qian <qianxj15@sina.com> Date: 星期一, 01 七月 2024 16:07:53 +0800 Subject: [PATCH] update more --- jrj/xframe/kobject/kxml.hpp | 66 ++++++++++++++++++++++----------- 1 files changed, 44 insertions(+), 22 deletions(-) diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp index aee8889..ebcdfbe 100644 --- a/jrj/xframe/kobject/kxml.hpp +++ b/jrj/xframe/kobject/kxml.hpp @@ -133,13 +133,39 @@ 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(); }; + + class KXMLDOMElement : public KXMLDOMNode + { + public: + KXMLDOMElement(KXMLDOMNode v); + KXMLDOMElement(void* impl) :KXMLDOMNode(impl) {} + KXMLDOMElement() :KXMLDOMNode() {} + public: + KXMLDOMElement(LPARAM p) :KXMLDOMNode((void*)p) {} + }; + class KXMLDOMDocument : public KXMLDOMNode { + public: + bool operator !() + { + return !impl || !documentElement(); + } public: const wchar_t* text(); const wchar_t* url(); @@ -193,13 +219,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: @@ -247,32 +266,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((KXMLDOMElement*)pEle) {} - //KXMLDOMElementPtr(KXMLDOMElement ele) :m_pElement(new KXMLDOMElement(ele)) {} + 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; } + KXMLDOMElement* operator -> () { return m_pElement; } }; - -using KXMLDOMDocument=Hxsoft::XFrame::KXMLDOMDocument; -using KXMLDOMNode=Hxsoft::XFrame::KXMLDOMNode; -using KXMLDOMElement=Hxsoft::XFrame::KXMLDOMElement; -using KXMLDOMNodeList = Hxsoft::XFrame::KXMLDOMNodeList; -- Gitblit v1.9.3