From 8bc2caac55572bc06c4fc6c2f6e2b28104c9f69c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 6 Aug 2009 22:55:25 +0200 Subject: move desktop file parser from bus/ to dbus/ We want to make use of it for reading the ConsoleKit database which will need to be implemented in dbus/dbus-userdb-util.c, so let's move this to dbus/. --- dbus/dbus-desktop-file.h | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 dbus/dbus-desktop-file.h (limited to 'dbus/dbus-desktop-file.h') diff --git a/dbus/dbus-desktop-file.h b/dbus/dbus-desktop-file.h new file mode 100644 index 00000000..812d82f3 --- /dev/null +++ b/dbus/dbus-desktop-file.h @@ -0,0 +1,49 @@ +/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ +/* desktop-file.h .desktop file parser + * + * Copyright (C) 2003 CodeFactory AB + * + * Licensed under the Academic Free License version 2.1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ +#ifndef BUS_DESKTOP_FILE_H +#define BUS_DESKTOP_FILE_H + +#include +#include + +#define DBUS_DESKTOP_PARSE_ERROR_INVALID_SYNTAX "org.freedesktop.DBus.DesktopParseError.InvalidSyntax" +#define DBUS_DESKTOP_PARSE_ERROR_INVALID_ESCAPES "org.freedesktop.DBus.DesktopParseError.InvalidEscapes" +#define DBUS_DESKTOP_PARSE_ERROR_INVALID_CHARS "org.freedesktop.DBus.DesktopParseError.InvalidChars" + +typedef struct DBusDesktopFile DBusDesktopFile; + +DBusDesktopFile *_dbus_desktop_file_load (DBusString *filename, + DBusError *error); +void _dbus_desktop_file_free (DBusDesktopFile *file); + +dbus_bool_t _dbus_desktop_file_get_raw (DBusDesktopFile *desktop_file, + const char *section_name, + const char *keyname, + const char **val); +dbus_bool_t _dbus_desktop_file_get_string (DBusDesktopFile *desktop_file, + const char *section, + const char *keyname, + char **val, + DBusError *error); + +#endif /* BUS_DESKTOP_FILE_H */ -- cgit