Revised builder API
[shibboleth/xmltooling.git] / xmltooling / impl / UnknownElement.h
index bfc5b1a..0ad445d 100644 (file)
  */\r
 \r
 /**\r
- * UnknownElement.h\r
+ * @file UnknownElement.h\r
  * \r
- * Basic implementations suitable for use as defaults for unrecognized content\r
+ * Basic implementation suitable for use as default for unrecognized content\r
  */\r
 \r
 #if !defined(__xmltooling_unkelement_h__)\r
 #define __xmltooling_unkelement_h__\r
 \r
-#include "internal.h"\r
-#include "XMLObjectBuilder.h"\r
-#include "io/AbstractXMLObjectMarshaller.h"\r
-#include "io/AbstractXMLObjectUnmarshaller.h"\r
+#include <xmltooling/exceptions.h>\r
+#include <xmltooling/XMLObjectBuilder.h>\r
+#include <xmltooling/io/AbstractXMLObjectMarshaller.h>\r
+#include <xmltooling/io/AbstractXMLObjectUnmarshaller.h>\r
 \r
 #include <string>\r
 \r
 \r
 namespace xmltooling {\r
 \r
+    /**\r
+     * Implements a thin wrapper around unknown DOM content.\r
+     */\r
     class XMLTOOL_DLLLOCAL UnknownElementImpl : public AbstractDOMCachingXMLObject\r
     {\r
     public:\r
         UnknownElementImpl(const XMLCh* namespaceURI=NULL, const XMLCh* elementLocalName=NULL, const XMLCh* namespacePrefix=NULL)\r
-            : AbstractDOMCachingXMLObject(namespaceURI, elementLocalName, namespacePrefix) {}\r
+            : AbstractXMLObject(namespaceURI, elementLocalName, namespacePrefix) {}\r
     \r
         void releaseDOM();\r
 \r
@@ -65,11 +68,19 @@ namespace xmltooling {
         void serialize(std::string& s) const;\r
     };\r
 \r
-    class XMLTOOL_DLLLOCAL UnknownElementBuilder : public XMLObjectBuilder\r
+    /**\r
+     * Builder for UnknownElementImpl objects.\r
+     */\r
+    class XMLTOOL_API UnknownElementBuilder : public XMLObjectBuilder\r
     {\r
     public:\r
-        UnknownElementImpl* buildObject() const {\r
-            return new UnknownElementImpl();\r
+        /**\r
+         * @see XMLObjectBuilder::buildObject(const XMLCh*,const XMLCh*,const XMLCh*)\r
+         */\r
+        UnknownElementImpl* buildObject(\r
+            const XMLCh* namespaceURI, const XMLCh* elementLocalName, const XMLCh* namespacePrefix=NULL\r
+            ) const {\r
+            return new UnknownElementImpl(namespaceURI,elementLocalName,namespacePrefix);\r
         }\r
     };\r
 \r