Code

revert interface change
[inkscape.git] / src / extension / system.cpp
index ccf168446d2eaf811ad677a85c87e9934ba384a9..81bf3075e2cf204a315f0c116331876a465004de 100644 (file)
 #include "input.h"
 #include "output.h"
 #include "effect.h"
+#include "patheffect.h"
 #include "print.h"
 #include "implementation/script.h"
+#include "implementation/xslt.h"
 /* #include "implementation/plugin.h" */
 
 namespace Inkscape {
@@ -325,6 +327,7 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
 {
     enum {
         MODULE_EXTENSION,
+        MODULE_XSLT,
         /* MODULE_PLUGIN, */
         MODULE_UNKNOWN_IMP
     } module_implementation_type = MODULE_UNKNOWN_IMP;
@@ -333,6 +336,7 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
         MODULE_OUTPUT,
         MODULE_FILTER,
         MODULE_PRINT,
+        MODULE_PATH_EFFECT,
         MODULE_UNKNOWN_FUNC
     } module_functional_type = MODULE_UNKNOWN_FUNC;
 
@@ -359,8 +363,12 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
             module_functional_type = MODULE_FILTER;
         } else if (!strcmp(element_name, "print")) {
             module_functional_type = MODULE_PRINT;
+        } else if (!strcmp(element_name, "path-effect")) {
+            module_functional_type = MODULE_PATH_EFFECT;
         } else if (!strcmp(element_name, "script")) {
             module_implementation_type = MODULE_EXTENSION;
+        } else if (!strcmp(element_name, "xslt")) {
+            module_implementation_type = MODULE_XSLT;
 #if 0
         } else if (!strcmp(element_name, "plugin")) {
             module_implementation_type = MODULE_PLUGIN;
@@ -380,6 +388,11 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
                 imp = static_cast<Implementation::Implementation *>(script);
                 break;
             }
+            case MODULE_XSLT: {
+                Implementation::XSLT *xslt = new Implementation::XSLT();
+                imp = static_cast<Implementation::Implementation *>(xslt);
+                break;
+            }
 #if 0
             case MODULE_PLUGIN: {
                 Implementation::Plugin *plugin = new Implementation::Plugin();
@@ -414,6 +427,10 @@ build_from_reprdoc(Inkscape::XML::Document *doc, Implementation::Implementation
             module = new Print(repr, imp);
             break;
         }
+        case MODULE_PATH_EFFECT: {
+            module = new PathEffect(repr, imp);
+            break;
+        }
         default: {
             break;
         }