xj qian
2024-06-26 de4c5b12eb264c9a5b8244fac8cea25e01be18be
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,28 +259,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 +268,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; }
};