From 0b8444d0eef50d1ee4e0d0b51e174fa5b447d802 Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 17 七月 2024 17:50:35 +0800
Subject: [PATCH] base code
---
jrj/xframe/kobject/kxml.hpp | 70 ++++++++++++++++++++++++-----------
1 files changed, 48 insertions(+), 22 deletions(-)
diff --git a/jrj/xframe/kobject/kxml.hpp b/jrj/xframe/kobject/kxml.hpp
index aee8889..fc6931f 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) {
+ AddRef();
+ }
+ 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(p) {}
+ };
+
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:
@@ -247,32 +270,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