1*6a653dafSJuergen Schmidt /************************************************************** 2*6a653dafSJuergen Schmidt * 3*6a653dafSJuergen Schmidt * Licensed to the Apache Software Foundation (ASF) under one 4*6a653dafSJuergen Schmidt * or more contributor license agreements. See the NOTICE file 5*6a653dafSJuergen Schmidt * distributed with this work for additional information 6*6a653dafSJuergen Schmidt * regarding copyright ownership. The ASF licenses this file 7*6a653dafSJuergen Schmidt * to you under the Apache License, Version 2.0 (the 8*6a653dafSJuergen Schmidt * "License"); you may not use this file except in compliance 9*6a653dafSJuergen Schmidt * with the License. You may obtain a copy of the License at 10*6a653dafSJuergen Schmidt * 11*6a653dafSJuergen Schmidt * http://www.apache.org/licenses/LICENSE-2.0 12*6a653dafSJuergen Schmidt * 13*6a653dafSJuergen Schmidt * Unless required by applicable law or agreed to in writing, 14*6a653dafSJuergen Schmidt * software distributed under the License is distributed on an 15*6a653dafSJuergen Schmidt * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*6a653dafSJuergen Schmidt * KIND, either express or implied. See the License for the 17*6a653dafSJuergen Schmidt * specific language governing permissions and limitations 18*6a653dafSJuergen Schmidt * under the License. 19*6a653dafSJuergen Schmidt * 20*6a653dafSJuergen Schmidt *************************************************************/ 21*6a653dafSJuergen Schmidt 22*6a653dafSJuergen Schmidt 23*6a653dafSJuergen Schmidt #ifndef __MNSINIPARSER_HXX__ 24*6a653dafSJuergen Schmidt #define __MNSINIPARSER_HXX__ 25*6a653dafSJuergen Schmidt 26*6a653dafSJuergen Schmidt #include <rtl/ustring.hxx> 27*6a653dafSJuergen Schmidt #include <com/sun/star/io/IOException.hpp> 28*6a653dafSJuergen Schmidt #include <osl/process.h> 29*6a653dafSJuergen Schmidt using namespace rtl; 30*6a653dafSJuergen Schmidt 31*6a653dafSJuergen Schmidt #include <map> 32*6a653dafSJuergen Schmidt #include <list> 33*6a653dafSJuergen Schmidt 34*6a653dafSJuergen Schmidt #if OSL_DEBUG_LEVEL > 0 35*6a653dafSJuergen Schmidt #include <stdio.h> 36*6a653dafSJuergen Schmidt #endif 37*6a653dafSJuergen Schmidt 38*6a653dafSJuergen Schmidt struct ini_NameValue 39*6a653dafSJuergen Schmidt { 40*6a653dafSJuergen Schmidt rtl::OUString sName; 41*6a653dafSJuergen Schmidt rtl::OUString sValue; 42*6a653dafSJuergen Schmidt 43*6a653dafSJuergen Schmidt inline ini_NameValue() SAL_THROW( () ) 44*6a653dafSJuergen Schmidt {} ini_NameValueini_NameValue45*6a653dafSJuergen Schmidt inline ini_NameValue( 46*6a653dafSJuergen Schmidt OUString const & name, OUString const & value ) SAL_THROW( () ) 47*6a653dafSJuergen Schmidt : sName( name ), 48*6a653dafSJuergen Schmidt sValue( value ) 49*6a653dafSJuergen Schmidt {} 50*6a653dafSJuergen Schmidt }; 51*6a653dafSJuergen Schmidt 52*6a653dafSJuergen Schmidt typedef std::list< 53*6a653dafSJuergen Schmidt ini_NameValue 54*6a653dafSJuergen Schmidt > NameValueList; 55*6a653dafSJuergen Schmidt 56*6a653dafSJuergen Schmidt struct ini_Section 57*6a653dafSJuergen Schmidt { 58*6a653dafSJuergen Schmidt rtl::OUString sName; 59*6a653dafSJuergen Schmidt NameValueList lList; 60*6a653dafSJuergen Schmidt }; 61*6a653dafSJuergen Schmidt typedef std::map<rtl::OUString, 62*6a653dafSJuergen Schmidt ini_Section 63*6a653dafSJuergen Schmidt >IniSectionMap; 64*6a653dafSJuergen Schmidt 65*6a653dafSJuergen Schmidt 66*6a653dafSJuergen Schmidt class IniParser 67*6a653dafSJuergen Schmidt { 68*6a653dafSJuergen Schmidt IniSectionMap mAllSection; 69*6a653dafSJuergen Schmidt public: getAllSection()70*6a653dafSJuergen Schmidt IniSectionMap * getAllSection(){return &mAllSection;}; 71*6a653dafSJuergen Schmidt IniParser(OUString const & rIniName) throw(com::sun::star::io::IOException ); 72*6a653dafSJuergen Schmidt #if OSL_DEBUG_LEVEL > 0 73*6a653dafSJuergen Schmidt void Dump(); 74*6a653dafSJuergen Schmidt #endif 75*6a653dafSJuergen Schmidt 76*6a653dafSJuergen Schmidt }; 77*6a653dafSJuergen Schmidt 78*6a653dafSJuergen Schmidt #endif 79*6a653dafSJuergen Schmidt 80