From ae3394ff5c8a15c9cb7f2946e8ca6febdca2928b Mon Sep 17 00:00:00 2001
From: Sebastian Junges <sebastian.junges@rwth-aachen.de>
Date: Fri, 18 Nov 2016 17:46:58 +0100
Subject: [PATCH] extended gspn export settigns

---
 .../settings/modules/GSPNExportSettings.cpp   | 23 +++++++++++++++++++
 .../settings/modules/GSPNExportSettings.h     | 16 +++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/src/storm/settings/modules/GSPNExportSettings.cpp b/src/storm/settings/modules/GSPNExportSettings.cpp
index ca00a6ec3..9be15c75e 100644
--- a/src/storm/settings/modules/GSPNExportSettings.cpp
+++ b/src/storm/settings/modules/GSPNExportSettings.cpp
@@ -16,11 +16,17 @@ namespace storm {
             const std::string GSPNExportSettings::moduleName = "exportGspn";
             
             const std::string GSPNExportSettings::writeToDotOptionName = "gspn-dot-output";
+            
+            const std::string GSPNExportSettings::writeToPnmlOptionName = "to-pnml";
+            const std::string GSPNExportSettings::writeToPnproOptionName = "to-pnpro";
+            
             //const std::string GSPNExportSettings::janiFileOptionShortName = "dotoutput";
             
             
             GSPNExportSettings::GSPNExportSettings() : ModuleSettings(moduleName) {
                 this->addOption(storm::settings::OptionBuilder(moduleName, writeToDotOptionName, false, "Destination for the dot output.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "path to file").build()).build());
+                this->addOption(storm::settings::OptionBuilder(moduleName, writeToPnmlOptionName, false, "Destination for the pnml output").addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "path to file").build()).build());
+                this->addOption(storm::settings::OptionBuilder(moduleName, writeToPnproOptionName, false, "Destination for the pnpro output").addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename", "path to file").build()).build());
             }
             
             bool GSPNExportSettings::isWriteToDotSet() const {
@@ -31,6 +37,23 @@ namespace storm {
                 return this->getOption(writeToDotOptionName).getArgumentByName("filename").getValueAsString();
             }
             
+            bool GSPNExportSettings::isWriteToPnmlSet() const {
+                return this->getOption(writeToPnmlOptionName).getHasOptionBeenSet();
+            }
+            
+            std::string GSPNExportSettings::getWriteToPnmlFilename() const {
+                return this->getOption(writeToPnmlOptionName).getArgumentByName("filename").getValueAsString();
+            }
+            
+            bool GSPNExportSettings::isWriteToPnproSet() const {
+                return this->getOption(writeToPnproOptionName).getHasOptionBeenSet();
+            }
+            
+            std::string GSPNExportSettings::getWriteToPnproFilename() const {
+                return this->getOption(writeToPnproOptionName).getArgumentByName("filename").getValueAsString();
+            }
+            
+            
             void GSPNExportSettings::finalize() {
                 
             }
diff --git a/src/storm/settings/modules/GSPNExportSettings.h b/src/storm/settings/modules/GSPNExportSettings.h
index 4a86428e5..3db836cf7 100644
--- a/src/storm/settings/modules/GSPNExportSettings.h
+++ b/src/storm/settings/modules/GSPNExportSettings.h
@@ -24,6 +24,20 @@ namespace storm {
                  */
                 std::string getWriteToDotFilename() const;
                 
+                bool isWriteToPnmlSet() const;
+                
+                /**
+                 *
+                 */
+                std::string getWriteToPnmlFilename() const;
+                
+                bool isWriteToPnproSet() const;
+                
+                /**
+                 *
+                 */
+                std::string getWriteToPnproFilename() const;
+                
                 
                 bool check() const override;
                 void finalize() override;
@@ -32,6 +46,8 @@ namespace storm {
                 
             private:
                 static const std::string writeToDotOptionName;
+                static const std::string writeToPnmlOptionName;
+                static const std::string writeToPnproOptionName;
                 //static const std::string writeToDotOptionShortName;
                 
             };