diff options
Diffstat (limited to 'modules/CIAO/DAnCE/Config_Handlers/Req_Handler.cpp')
-rw-r--r-- | modules/CIAO/DAnCE/Config_Handlers/Req_Handler.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/Config_Handlers/Req_Handler.cpp b/modules/CIAO/DAnCE/Config_Handlers/Req_Handler.cpp new file mode 100644 index 00000000000..4a40afc1647 --- /dev/null +++ b/modules/CIAO/DAnCE/Config_Handlers/Req_Handler.cpp @@ -0,0 +1,57 @@ +// $Id$ + +#include "Req_Handler.h" +#include "Property_Handler.h" +#include "DAnCE/Deployment/Deployment_BaseC.h" +#include "DAnCE/Logger/Log_Macros.h" +namespace CIAO +{ + namespace Config_Handlers + { + + Req_Handler::Req_Handler (void) + { + } + + Req_Handler::~Req_Handler (void) + { + } + + void + Req_Handler::handle_requirement (const Requirement& desc, + Deployment::Requirement& toconfig) + { + DANCE_TRACE("Req_Handler::get_Requirement"); + + //Map the basic string types to their Deployment::Req + //counterparts. + toconfig.name = ACE_TEXT_ALWAYS_CHAR ( desc.name ().c_str ()); + toconfig.resourceType = ACE_TEXT_ALWAYS_CHAR ( desc.resourceType ().c_str ()); + + toconfig.property.length (desc.count_property ()); + std::for_each (desc.begin_property (), + desc.end_property (), + Property_Functor (toconfig.property)); + } + + Requirement + Req_Handler::get_requirement (const Deployment::Requirement& src) + { + DANCE_TRACE("Req_Handler::get_requirement - reverse"); + + //Get the values for name and res + XMLSchema::string< ACE_TCHAR > name (ACE_TEXT_CHAR_TO_TCHAR (src.name)); + XMLSchema::string< ACE_TCHAR > res (ACE_TEXT_CHAR_TO_TCHAR (src.resourceType)); + + //Instantiate the Requirement + Requirement req (name,res); + + for (CORBA::ULong i = 0; i < src.property.length (); ++i) + { + //req.add_property (Property_Handler::get_property (src.property[i])); + } + + return req; + } + } +} |