Moved DOM methods up the tree, add copy c'tors, KeyInfo sample
[shibboleth/xmltooling.git] / xmltooling / AbstractElementProxy.h
index a00b9df..9829410 100644 (file)
 /**\r
  * @file AbstractElementProxy.h\r
  * \r
- * An abstract implementation of a DOM-caching ElementProxy \r
+ * An abstract implementation of an ElementProxy \r
  */\r
 \r
-#if !defined(__xmltooling_abseleproxy_h__)\r
+#ifndef __xmltooling_abseleproxy_h__\r
 #define __xmltooling_abseleproxy_h__\r
 \r
 #include <xmltooling/AbstractDOMCachingXMLObject.h>\r
 namespace xmltooling {\r
 \r
     /**\r
-     * An abstract implementation of a DOM-caching ExtensibleXMLObject.\r
+     * An abstract implementation of an ExtensibleXMLObject.\r
      */\r
-    class XMLTOOL_API AbstractElementProxy : public virtual ElementProxy, public virtual AbstractDOMCachingXMLObject\r
+    class XMLTOOL_API AbstractElementProxy : public virtual ElementProxy, public virtual AbstractXMLObject\r
     {\r
     public:\r
         virtual ~AbstractElementProxy() {}\r
         \r
-        /**\r
-         * @see ElementProxy::getTextContent()\r
-         */\r
         virtual const XMLCh* getTextContent() const {\r
             return m_value;\r
         }\r
         \r
-        /**\r
-         * @see ElementProxy::setTextContent()\r
-         */\r
         virtual void setTextContent(const XMLCh* value);\r
         \r
-\r
-        /**\r
-         * @see ElementProxy::getXMLObjects()\r
-         */\r
         virtual ListOf(XMLObject) getXMLObjects();\r
     \r
      protected:\r
         AbstractElementProxy() : m_value(NULL) {}\r
+        \r
+        /** Copy constructor. */\r
+        AbstractElementProxy(const AbstractElementProxy& src)\r
+            : AbstractXMLObject(src), m_value(XMLString::replicate(src.m_value)) {}\r
 \r
     private:\r
         XMLCh* m_value;\r