Home | History | Annotate | Download | only in bus
      1 /* -*- mode: C; c-file-style: "gnu" -*- */
      2 /* desktop-file.h  .desktop file parser
      3  *
      4  * Copyright (C) 2003  CodeFactory AB
      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 #ifndef BUS_DESKTOP_FILE_H
     24 #define BUS_DESKTOP_FILE_H
     25 
     26 #include <dbus/dbus.h>
     27 #include <dbus/dbus-string.h>
     28 
     29 #define BUS_DESKTOP_PARSE_ERROR_INVALID_SYNTAX  "org.freedesktop.DBus.DesktopParseError.InvalidSyntax"
     30 #define BUS_DESKTOP_PARSE_ERROR_INVALID_ESCAPES "org.freedesktop.DBus.DesktopParseError.InvalidEscapes"
     31 #define BUS_DESKTOP_PARSE_ERROR_INVALID_CHARS   "org.freedesktop.DBus.DesktopParseError.InvalidChars"
     32 
     33 typedef struct BusDesktopFile BusDesktopFile;
     34 
     35 BusDesktopFile *bus_desktop_file_load (DBusString     *filename,
     36 				       DBusError      *error);
     37 void            bus_desktop_file_free (BusDesktopFile *file);
     38 
     39 dbus_bool_t bus_desktop_file_get_raw    (BusDesktopFile  *desktop_file,
     40 					 const char      *section_name,
     41 					 const char      *keyname,
     42 					 const char     **val);
     43 dbus_bool_t bus_desktop_file_get_string (BusDesktopFile  *desktop_file,
     44 					 const char      *section,
     45 					 const char      *keyname,
     46 					 char           **val,
     47 					 DBusError       *error);
     48 
     49 
     50 #endif /* BUS_DESKTOP_FILE_H */
     51