+class SALOME_ModuleCatalogImpl::Private
+{
+ friend class SALOME_ModuleCatalogImpl;
+public:
+ //! method to parse one module catalog
+ /*!
+ \param file const char* arguments
+ \param modulelist ParserComponents arguments
+ \param pathlist ParserPathPrefixes arguments
+ \param typeMap ParserTypes arguments
+ */
+ virtual void _parse_xml_file(const char* file,
+ ParserComponents & modulelist,
+ ParserPathPrefixes & pathlist,
+ ParserTypes& typeMap,
+ TypeList& typeList);
+
+ //! method to find component in the parser list
+ /*!
+ \param name string argument
+ \return pointer on a component, NULL if not found
+ */
+ ParserComponent *findComponent(const std::string & name);
+
+ //! method to create a CORBA component description from parser
+ /*!
+ \param C_corba Component argument
+ \param C_parser const ParserComponent argument
+ */
+ void duplicate(SALOME_ModuleCatalog::ComponentDef & C_corba,
+ const ParserComponent & C_parser);
+
+ //! method to create a CORBA interface description from parser
+ /*!
+ \param I_corba DefinitionInterface argument
+ \param I_parser const ParserInterface argument
+ */
+ void duplicate(SALOME_ModuleCatalog::DefinitionInterface & I_corba,
+ const ParserInterface & I_parser);
+
+ //! method to create a CORBA service description from parser
+ /*!
+ \param S_corba Service argument
+ \param S_parser const ParserService argument
+ */
+ void duplicate(SALOME_ModuleCatalog::Service & S_corba,
+ const ParserService & service);
+
+ //! method to create a CORBA parameter description from parser
+ /*!
+ \param P_corba ServicesParameter argument
+ \param P_parser const ParserParameter argument
+ */
+ void duplicate(SALOME_ModuleCatalog::ServicesParameter & P_corba,
+ const ParserParameter & P_parser);
+
+ //! method to create a CORBA datastream parameter description from parser
+ /*!
+ \param P_corba ServicesDataStreamParameter argument
+ \param P_parser const ParserDataStreamParameter argument
+ */
+ void duplicate(SALOME_ModuleCatalog::ServicesDataStreamParameter & P_corba,
+ const ParserDataStreamParameter & P_parser);
+
+ //! method to create the path prefix structures from the catalog parsing
+ /*!
+ \param pathes ParserPathPrefixes arguments
+ \return the pathes
+ */
+ void duplicate(ParserPathPrefixes & p_out, const ParserPathPrefixes & P_in);
+
+ //! method to verify path prefix content
+ /*!
+ \param pathlist ListOfParserPathPrefix arguments
+ \return true if verfication is OK
+ */
+ virtual bool _verify_path_prefix(ParserPathPrefixes & pathlist);
+
+ // Theses variables will contain the path to the general and personal catalogs
+ char* _general_path;
+ char* _personal_path;
+
+ // These variables will contain the informations on the general common catalog
+ ParserComponents _general_module_list ;
+ ParserPathPrefixes _general_path_list ;
+ ParserTypes _typeMap;
+ TypeList _typeList;
+
+ // These variables will contain the informations on the personal catalog
+ ParserComponents _personal_module_list ;
+ ParserPathPrefixes _personal_path_list ;
+
+ std::map <std::string, SALOME_ModuleCatalog::DataStreamDependency>
+ DataStreamDepConvert;
+
+ std::map <ParserComponentType, SALOME_ModuleCatalog::ComponentType>
+ ComponentTypeConvert;
+};
+