diff options
Diffstat (limited to 'TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h')
-rw-r--r-- | TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h new file mode 100644 index 00000000000..92b05187fa8 --- /dev/null +++ b/TAO/CIAO/tools/Config_Handlers/Package_Handlers/CPD_Handler.h @@ -0,0 +1,74 @@ +//================================================ +/** + * @file STD_CPD_Handler.h + * + * $Id$ + * + * @author Ming Xiong <mxiong@dre.vanderbilt.edu> + */ +//================================================ + +#ifndef CIAO_CONFIG_HANDLERS_STD_CPD_HANDLER_H +#define CIAO_CONFIG_HANDLERS_STD_CPD_HANDLER_H + +#include /**/ "ace/pre.h" + +#include <memory> +#include "Utils/XML_Helper.h" +#include "Utils/Functors.h" +#include "Package_Handlers/Packaging_Handlers_Export.h" + +namespace Deployment +{ + struct ComponentPackageDescription; + class ComponentPackageDescriptions; +} + +namespace CIAO +{ + namespace Config_Handlers + { + class ComponentPackageDescription; + + namespace Packaging + { + + /* + * @class CPD_Handler + * + * @brief Handler class for <CCMComponentPackageDescription> types. + * + * This class defines handler methods to map values from + * XSC objects, parsed from the descriptor files, to the + * corresponding CORBA IDL type for the schema element. + * + */ + class Packaging_Handlers_Export CPD_Handler + { + + public: + /// Maps the values from the XSC object + /// <ComponentPackageDescription> to the CORBA IDL type + /// <Deployment::ComponentPackageDescription>. + static void component_package_descr (const ComponentPackageDescription &desc, + ::Deployment::ComponentPackageDescription &toconfig); + + static ComponentPackageDescription + component_package_descr (const Deployment::ComponentPackageDescription& src); + private: + static ComponentPackageDescription * resolve_cpd (const char *uri); + + }; + + typedef Sequence_Handler < ComponentPackageDescription, + ::Deployment::ComponentPackageDescriptions, + ::Deployment::ComponentPackageDescription, + CPD_Handler::component_package_descr > CPD_Functor; + + } + + } +} + +#include /**/ "ace/post.h" +#endif /* CIAO_CONFIG_HANDLERS_CPD_HANDLER_H*/ |