xj qian
2024-07-01 01ecca79b7c23d690ba21fb182dd1f56f2f182ed
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,28 +266,6 @@
      KXMLDOMDocumentFragment(void* impl) :KXMLDOMNode(impl) {}
   };
   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)) {}
   public:
      KXMLDOMElement* value() { return m_pElement; }
   public:
      operator KXMLDOMElement* () { return m_pElement; }
      operator KXMLDOMElement& () { return *m_pElement; }
      KXMLDOMElement* operator -> () { return m_pElement; }
   };
}}
@@ -278,3 +275,26 @@
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; }
};