(linenum→info "unix/slp.c:2238")

dbus/1.0.2/bus/config-parser.h

    1: /* -*- mode: C; c-file-style: "gnu" -*- */
    2: /* config-parser.h  XML-library-agnostic configuration file parser
    3:  *
    4:  * Copyright (C) 2003 Red Hat, Inc.
    5:  *
    6:  * Licensed under the Academic Free License version 2.1
    7:  * 
    8:  * This program is free software; you can redistribute it and/or modify
    9:  * it under the terms of the GNU General Public License as published by
   10:  * the Free Software Foundation; either version 2 of the License, or
   11:  * (at your option) any later version.
   12:  *
   13:  * This program is distributed in the hope that it will be useful,
   14:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
   15:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16:  * GNU General Public License for more details.
   17:  * 
   18:  * You should have received a copy of the GNU General Public License
   19:  * along with this program; if not, write to the Free Software
   20:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   21:  *
   22:  */
   23: 
   24: #ifndef BUS_CONFIG_PARSER_H
   25: #define BUS_CONFIG_PARSER_H
   26: 
   27: #include <config.h>
   28: 
   29: #include <dbus/dbus.h>
   30: #include <dbus/dbus-string.h>
   31: #include <dbus/dbus-list.h>
   32: #include <dbus/dbus-hash.h>
   33: #include "bus.h"
   34: 
   35: /* Whatever XML library we're using just pushes data into this API */
   36: 
   37: typedef struct BusConfigParser BusConfigParser;
   38: 
   39: BusConfigParser* bus_config_parser_new (const DBusString      *basedir,
   40:                                         dbus_bool_t            is_toplevel,
   41:                                         const BusConfigParser *parent);
   42: 
   43: BusConfigParser* bus_config_parser_ref           (BusConfigParser   *parser);
   44: void             bus_config_parser_unref         (BusConfigParser   *parser);
   45: dbus_bool_t      bus_config_parser_check_doctype (BusConfigParser   *parser,
   46:                                                   const char        *doctype,
   47:                                                   DBusError         *error);
   48: dbus_bool_t      bus_config_parser_start_element (BusConfigParser   *parser,
   49:                                                   const char        *element_name,
   50:                                                   const char       **attribute_names,
   51:                                                   const char       **attribute_values,
   52:                                                   DBusError         *error);
   53: dbus_bool_t      bus_config_parser_end_element   (BusConfigParser   *parser,
   54:                                                   const char        *element_name,
   55:                                                   DBusError         *error);
   56: dbus_bool_t      bus_config_parser_content       (BusConfigParser   *parser,
   57:                                                   const DBusString  *content,
   58:                                                   DBusError         *error);
   59: dbus_bool_t      bus_config_parser_finished      (BusConfigParser   *parser,
   60:                                                   DBusError         *error);
   61: 
   62: /* Functions for extracting the parse results */
   63: const char* bus_config_parser_get_user         (BusConfigParser *parser);
   64: const char* bus_config_parser_get_type         (BusConfigParser *parser);
   65: DBusList**  bus_config_parser_get_addresses    (BusConfigParser *parser);
   66: DBusList**  bus_config_parser_get_mechanisms   (BusConfigParser *parser);
   67: dbus_bool_t bus_config_parser_get_fork         (BusConfigParser *parser);
   68: const char* bus_config_parser_get_pidfile      (BusConfigParser *parser);
   69: DBusList**  bus_config_parser_get_service_dirs (BusConfigParser *parser);
   70: DBusList**  bus_config_parser_get_conf_dirs    (BusConfigParser *parser);
   71: BusPolicy*  bus_config_parser_steal_policy     (BusConfigParser *parser);
   72: void        bus_config_parser_get_limits       (BusConfigParser *parser,
   73:                                                 BusLimits       *limits);
   74: 
   75: DBusHashTable* bus_config_parser_steal_service_context_table (BusConfigParser *parser);
   76: 
   77: /* Loader functions (backended off one of the XML parsers).  Returns a
   78:  * finished ConfigParser.
   79:  */
   80: BusConfigParser* bus_config_load (const DBusString      *file,
   81:                                   dbus_bool_t            is_toplevel,
   82:                                   const BusConfigParser *parent,
   83:                                   DBusError             *error);
   84: 
   85: #endif /* BUS_CONFIG_PARSER_H */
Syntax (Markdown)