summaryrefslogtreecommitdiff
path: root/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp')
-rw-r--r--TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp30
1 files changed, 22 insertions, 8 deletions
diff --git a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
index 476df857146..0def3f8ff68 100644
--- a/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
+++ b/TAO/CIAO/DAnCE/RepositoryManager/RepositoryManager_Impl.cpp
@@ -30,11 +30,12 @@
#include "ace/Malloc_Allocator.h" //for ACE_New_Allocator
//for the PackageConfiguration parsing
-#include "Config_Handlers/STD_PC_Intf.h"
+//#include "Config_Handlers/Package_Handlers/PC_Intf.h"
#include "ciao/Deployment_DataC.h"
#include "ciao/Packaging_DataC.h"
#include "Config_Handlers/Utils/XML_Helper.h"
-#include "xercesc/dom/DOM.hpp"
+#include "Config_Handlers/Package_Handlers/PCD_Handler.h"
+//#include "xercesc/dom/DOM.hpp"
#include "RM_Helper.h" //to be able to externalize/internalize a PackageConfiguration
#include "ace/Message_Block.h" //for ACE_Message_Block
@@ -153,7 +154,7 @@ void CIAO_RepositoryManagerDaemon_i::installPackage (
//TODO: how can I incorporate a Auto_Ptr is explicit release is needed
ACE_Message_Block* mb;
- ACE_NEW_THROW_EX (mb, ACE_Message_Block (0,0), CORBA::INTERNAL ());
+ ACE_NEW_THROW_EX (mb, ACE_Message_Block (), CORBA::INTERNAL ());
ACE_CHECK_RETURN (0);
//get the remote file
@@ -169,6 +170,8 @@ void CIAO_RepositoryManagerDaemon_i::installPackage (
mb->release ();
ACE_THROW (CORBA::INTERNAL ());
}
+
+ mb->release ();
}
else
{
@@ -710,9 +713,8 @@ CIAO_RepositoryManagerDaemon_i::retrieve_PC_from_package (char* package)
//parse the PCD to make sure that there are no package errors
ACE_TRY
{
- CIAO::Config_Handlers::STD_PC_Intf intf (pcd_name.c_str ());
-
- pc = intf.get_PC ();
+ //CIAO::Config_Handlers::STD_PC_Intf intf (pcd_name.c_str ());
+ //pc = intf.get_PC ();
}
ACE_CATCHALL
{
@@ -789,9 +791,21 @@ CIAO_RepositoryManagerDaemon_i::retrieve_PC_from_descriptors (const char* pc_nam
//parse the PCD to make sure that there are no package errors
ACE_TRY
{
- CIAO::Config_Handlers::STD_PC_Intf intf (pc_name);
+ //CIAO::Config_Handlers::STD_PC_Intf intf (pc_name);
+ //pc = intf.get_PC ();
+ if (xercesc::DOMDocument *doc = CIAO::Config_Handlers::XML_HELPER->create_dom (pc_name))
+ {
+ {
+ //Read in the XSC type structure from the DOMDocument
- pc = intf.get_PC ();
+ //Convert the XSC to an IDL datatype
+ CIAO::Config_Handlers::Packaging::PCD_Handler::package_config (pc_name, pc);
+ std::cout << "Instance document import succeeded. Dumping contents to file\n";
+ }
+
+ //Cleanliness is next to Godliness
+ delete doc;
+ }
}
ACE_CATCHALL
{