summaryrefslogtreecommitdiff
path: root/modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp')
-rw-r--r--modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp89
1 files changed, 89 insertions, 0 deletions
diff --git a/modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp b/modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp
new file mode 100644
index 00000000000..0476fddd6cc
--- /dev/null
+++ b/modules/CIAO/tools/Config_Handlers/RT-CCM/test.cpp
@@ -0,0 +1,89 @@
+// $Id$
+
+#include <iostream>
+
+#include "CIAOServerResources.hpp"
+#include "SRD_Handler.h"
+#include "ciao/ServerResourcesC.h"
+
+#include "ace/Get_Opt.h"
+#include "Utils/XML_Typedefs.h"
+#include "tao/ORB.h"
+
+static const char *input_file = "BasicSP.cdp";
+
+
+static int
+parse_args (int argc, char *argv[])
+{
+ ACE_Get_Opt get_opts (argc, argv, "i:");
+
+ int c;
+
+ while ((c = get_opts ()) != -1)
+ switch (c)
+ {
+ case 'i':
+ input_file = get_opts.opt_arg ();
+ break;
+ case '?':
+ default:
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "usage: %s "
+ "-i <input file> "
+ "\n",
+ argv [0]),
+ -1);
+ }
+ // Indicates sucessful parsing of the command-line
+ return 0;
+}
+
+using namespace CIAO::Config_Handlers;
+
+int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
+{
+
+ if (parse_args (argc, argv) != 0)
+ return 1;
+
+ // Initialize an ORB so Any will work
+ CORBA::ORB_ptr orb = CORBA::ORB_init (argc, argv);
+
+ //Create an XML_Helper for all the file work
+ XML_Helper the_helper;
+
+ if (xercesc::DOMDocument *doc = the_helper.create_dom (input_file))
+ {
+ //Read in the XSC type structure from the DOMDocument
+ ServerResourcesDef srd = ServerResources (doc);
+
+ // Convert XSC to idl datatype
+ SRD_Handler srd_handler (&srd);
+
+ std::cout << "Instance document import succeeded. Dumping contents to file\n";
+
+ CIAO::DAnCE::ServerResource *sr (srd_handler.srd_idl ());
+
+ SRD_Handler reverse_handler (sr);
+
+ xercesc::DOMDocument *the_xsc (the_helper.create_dom ("CIAO:ServerResources",
+ "http://www.dre.vanderbilt.edu/ServerResources"));
+
+ std::cout << "NS:"
+ << std::string (xercesc::XMLString::transcode (the_xsc->getDocumentElement ()->getNamespaceURI ())) << std::endl
+ << std::string (xercesc::XMLString::transcode (the_xsc->getDocumentElement ()->getPrefix ())) << std::endl
+ << std::string (xercesc::XMLString::transcode (the_xsc->getDocumentElement ()->getLocalName ())) << std::endl
+ << std::endl;
+
+ ServerResources (*reverse_handler.srd_xsc (), the_xsc);
+
+ // write out the result
+ the_helper.write_DOM (the_xsc, "output.srd");
+ }
+
+ std::cout << "Test completed!";
+
+ return 0;
+
+}