Back to index

salome-kernel  6.5.0
SALOME_ModuleCatalog_Handler.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  SALOME ModuleCatalog : implementation of ModuleCatalog server which parsers xml description of modules
00024 //  File   : SALOME_ModuleCatalog_Handler.hxx
00025 //  Author : Estelle Deville
00026 //  Module : SALOME
00027 //  $Header: /home/server/cvs/KERNEL/KERNEL_SRC/src/ModuleCatalog/SALOME_ModuleCatalog_Handler.hxx,v 1.11.32.2.12.1 2012-04-12 14:05:17 vsr Exp $
00028 //
00029 #ifndef SALOME_CATALOG_HANDLER_H
00030 #define SALOME_CATALOG_HANDLER_H
00031 
00032 #include "SALOME_ModuleCatalog.hxx"
00033 
00034 #include "SALOME_ModuleCatalog_Parser.hxx"
00035 
00036 #include <string>
00037 #include <stack>
00038 #include <map>
00039 
00040 #include <libxml/parser.h>
00041 
00042 #ifdef WNT
00043 #pragma warning(disable:4251) // Warning DLL Interface ...
00044 #endif
00045 
00046 class MODULECATALOG_EXPORT SALOME_ModuleCatalog_Handler
00047 {
00048 public:
00050   SALOME_ModuleCatalog_Handler(ParserPathPrefixes& pathList,ParserComponents& moduleList,ParserTypes& typeMap,TypeList& typeList);
00051 
00053   virtual ~SALOME_ModuleCatalog_Handler();
00054 
00055   void ProcessXmlDocument(xmlDocPtr theDoc);
00056  
00057 private:
00058 
00059   const char *test_path_prefix_name ;
00060   const char *test_computer_name ;
00061   const char *test_computer_list ;
00062   const char *test_path_prefix ;
00063   const char *test_path_prefix_list;
00064 
00065   const char *test_component_name;
00066   const char *test_component_username;
00067   const char *test_component_type ;
00068   const char *test_component_multistudy ;
00069   const char *test_component_icon ;
00070   const char *test_component_impltype;
00071   const char *test_component_implname;
00072   const char *test_component_version;
00073   const char *test_component_comment;
00074   
00075   const char *test_interface_name;
00076   
00077   const char *test_service_name;
00078   const char *test_defaultservice;
00079   const char *test_typeofnode;
00080   
00081   const char *test_inParameter_type;
00082   const char *test_inParameter_name;
00083   const char *test_inParameter;
00084   const char *test_inParameter_list;
00085   
00086   const char *test_outParameter_type;
00087   const char *test_outParameter_name;
00088   const char *test_outParameter;
00089   const char *test_outParameter_list;
00090   
00091   const char *test_inDataStreamParameter_type;
00092   const char *test_inDataStreamParameter_name;
00093   const char *test_inDataStreamParameter_dependency;
00094   const char *test_inDataStreamParameter;
00095   const char *test_inDataStreamParameter_list;
00096   
00097   const char *test_outDataStreamParameter_type;
00098   const char *test_outDataStreamParameter_name;
00099   const char *test_outDataStreamParameter_dependency;
00100   const char *test_outDataStreamParameter;
00101   const char *test_outDataStreamParameter_list;
00102   
00103   const char *test_service;
00104   const char *test_service_list;
00105   const char *test_interface_list;
00106   const char *test_constraint;
00107   
00108   const char *test_component_list;
00109   const char *test_component;
00110   
00111   ParserPathPrefix _pathPrefix;
00112   
00113   ParserComponent _aModule;
00114   
00115   ParserPathPrefixes&  _pathList;
00116   ParserComponents&    _moduleList;
00117   
00118   ParserInterfaces _interfaceList;
00119   ParserInterface  _aInterface;
00120   
00121   ParserServices   _serviceList;
00122   ParserService    _aService;
00123 
00124   ParserParameters _inParamList;
00125   ParserParameter  _inParam;
00126   
00127   ParserParameters _outParamList;
00128   ParserParameter  _outParam;
00129   
00130   ParserDataStreamParameters _inDataStreamParamList;
00131   ParserDataStreamParameter  _inDataStreamParam;
00132   
00133   ParserDataStreamParameters _outDataStreamParamList;
00134   ParserDataStreamParameter  _outDataStreamParam;
00135 
00136   ParserTypes& _typeMap;
00137   TypeList& _typeList;
00138 
00139   ParserSequences _sequenceMap;
00140   ParserObjrefs _objrefMap;
00141   ParserStructs _structMap;
00142 };
00143 
00144 #endif // SALOME_CATALOG_HANDLER_H