/usr/include/dbus-1.0/dbus/dbus-address.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ |
2 | | /* dbus-address.h Server address 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
21 | | * |
22 | | */ |
23 | | #if !defined (DBUS_INSIDE_DBUS_H) && !defined (DBUS_COMPILATION) |
24 | | #error "Only <dbus/dbus.h> can be included directly, this file may disappear or change contents." |
25 | | #endif |
26 | | |
27 | | #ifndef DBUS_ADDRESS_H |
28 | | #define DBUS_ADDRESS_H |
29 | | |
30 | | #include <dbus/dbus-types.h> |
31 | | #include <dbus/dbus-errors.h> |
32 | | |
33 | | DBUS_BEGIN_DECLS |
34 | | |
35 | | /** |
36 | | * @addtogroup DBusAddress |
37 | | * @{ |
38 | | */ |
39 | | |
40 | | /** Opaque type representing one of the semicolon-separated items in an address */ |
41 | | typedef struct DBusAddressEntry DBusAddressEntry; |
42 | | |
43 | | DBUS_EXPORT |
44 | | dbus_bool_t dbus_parse_address (const char *address, |
45 | | DBusAddressEntry ***entry_result, |
46 | | int *array_len, |
47 | | DBusError *error); |
48 | | DBUS_EXPORT |
49 | | const char *dbus_address_entry_get_value (DBusAddressEntry *entry, |
50 | | const char *key); |
51 | | DBUS_EXPORT |
52 | | const char *dbus_address_entry_get_method (DBusAddressEntry *entry); |
53 | | DBUS_EXPORT |
54 | | void dbus_address_entries_free (DBusAddressEntry **entries); |
55 | | |
56 | | DBUS_EXPORT |
57 | | char* dbus_address_escape_value (const char *value); |
58 | | DBUS_EXPORT |
59 | | char* dbus_address_unescape_value (const char *value, |
60 | | DBusError *error); |
61 | | |
62 | | /** |
63 | | * Clear a variable or struct member that contains an array of #DBusAddressEntry. |
64 | | * If it does not contain #NULL, the entries that were previously |
65 | | * there are freed with dbus_address_entries_free(). |
66 | | * |
67 | | * This is similar to dbus_clear_connection(): see that function |
68 | | * for more details. |
69 | | * |
70 | | * @param pointer_to_entries A pointer to a variable or struct member. |
71 | | * pointer_to_entries must not be #NULL, but *pointer_to_entries |
72 | | * may be #NULL. |
73 | | */ |
74 | | static inline void |
75 | | dbus_clear_address_entries (DBusAddressEntry ***pointer_to_entries) |
76 | 0 | { |
77 | 0 | _dbus_clear_pointer_impl (DBusAddressEntry *, pointer_to_entries, |
78 | 0 | dbus_address_entries_free); |
79 | 0 | } |
80 | | |
81 | | /** @} */ |
82 | | |
83 | | DBUS_END_DECLS |
84 | | |
85 | | #endif /* DBUS_ADDRESS_H */ |
86 | | |