Address parsing
[D-BUS low-level public API]

Parsing addresses of D-BUS servers. More...

Defines

#define _DBUS_ADDRESS_OPTIONALLY_ESCAPED_BYTE(b)

Functions

void dbus_address_entries_free (DBusAddressEntry **entries)
 Frees a NULL-terminated array of address entries.
const char * dbus_address_entry_get_method (DBusAddressEntry *entry)
 Returns the method string of an address entry.
const char * dbus_address_entry_get_value (DBusAddressEntry *entry, const char *key)
 Returns a value from a key of an entry.
dbus_bool_t _dbus_address_append_escaped (DBusString *escaped, const DBusString *unescaped)
 Appends an escaped version of one string to another string, using the D-BUS address escaping mechanism.
dbus_bool_t dbus_parse_address (const char *address, DBusAddressEntry ***entry, int *array_len, DBusError *error)
 Parses an address string of the form:.
char * dbus_address_escape_value (const char *value)
 Escapes the given string as a value in a key=value pair for a D-BUS address.
char * dbus_address_unescape_value (const char *value, DBusError *error)
 Unescapes the given string as a value in a key=value pair for a D-BUS address.

Detailed Description

Parsing addresses of D-BUS servers.


Define Documentation

#define _DBUS_ADDRESS_OPTIONALLY_ESCAPED_BYTE  ) 
 

Value:

(((b) >= 'a' && (b) <= 'z') ||                 \
          ((b) >= 'A' && (b) <= 'Z') ||                 \
          ((b) >= '0' && (b) <= '9') ||                 \
          (b) == '-' ||                                 \
          (b) == '_' ||                                 \
          (b) == '/' ||                                 \
          (b) == '\\' ||                                \
          (b) == '.')

Definition at line 168 of file dbus-address.c.

Referenced by _dbus_address_append_escaped().


Function Documentation

dbus_bool_t _dbus_address_append_escaped DBusString escaped,
const DBusString unescaped
 

Appends an escaped version of one string to another string, using the D-BUS address escaping mechanism.

Parameters:
escaped the string to append to
unescaped the string to escape
Returns:
FALSE if no memory

Definition at line 187 of file dbus-address.c.

References _DBUS_ADDRESS_OPTIONALLY_ESCAPED_BYTE, _dbus_string_append_byte(), _dbus_string_append_byte_as_hex(), _dbus_string_set_length(), FALSE, and TRUE.

Referenced by _dbus_server_debug_pipe_new(), _dbus_server_new_for_domain_socket(), _dbus_server_new_for_tcp_socket(), and dbus_address_escape_value().

void dbus_address_entries_free DBusAddressEntry **  entries  ) 
 

Frees a NULL-terminated array of address entries.

Parameters:
entries the array.

Definition at line 97 of file dbus-address.c.

References dbus_free(), and NULL.

const char* dbus_address_entry_get_method DBusAddressEntry entry  ) 
 

Returns the method string of an address entry.

Parameters:
entry the entry.
Returns:
a string describing the method. This string must not be freed.

Definition at line 133 of file dbus-address.c.

References DBusAddressEntry::method.

Referenced by _dbus_transport_open(), and dbus_server_listen().

const char* dbus_address_entry_get_value DBusAddressEntry entry,
const char *  key
 

Returns a value from a key of an entry.

Parameters:
entry the entry.
key the key.
Returns:
the key value. This string must not be freed.

Definition at line 146 of file dbus-address.c.

References _dbus_assert, _dbus_list_get_first_link(), _dbus_list_get_next_link, _dbus_string_equal_c_str(), DBusList::data, DBusAddressEntry::keys, NULL, and DBusAddressEntry::values.

Referenced by _dbus_transport_open(), and dbus_server_listen().

char* dbus_address_escape_value const char *  value  ) 
 

Escapes the given string as a value in a key=value pair for a D-BUS address.

Parameters:
value the unescaped value
Returns:
newly-allocated escaped value or NULL if no memory

Definition at line 533 of file dbus-address.c.

References _dbus_address_append_escaped(), _dbus_string_free(), _dbus_string_init(), _dbus_string_init_const(), _dbus_string_steal_data(), and NULL.

char* dbus_address_unescape_value const char *  value,
DBusError error
 

Unescapes the given string as a value in a key=value pair for a D-BUS address.

Parameters:
value the escaped value
error error to set if the unescaping fails
Returns:
newly-allocated unescaped value or NULL if no memory

Definition at line 566 of file dbus-address.c.

References _dbus_assert, _dbus_string_free(), _dbus_string_init(), _dbus_string_init_const(), _dbus_string_steal_data(), dbus_error_is_set(), and NULL.

dbus_bool_t dbus_parse_address const char *  address,
DBusAddressEntry ***  entry,
int *  array_len,
DBusError error
 

Parses an address string of the form:.

method:key=value,key=value;method:key=value

See the D-BUS specification for complete docs on the format.

Parameters:
address the address.
entry return location to an array of entries.
array_len return location for array length.
error address where an error can be returned.
Returns:
TRUE on success, FALSE otherwise.

Definition at line 320 of file dbus-address.c.

References _dbus_assert, _dbus_list_append(), _dbus_list_clear(), _dbus_list_get_first_link(), _dbus_list_get_length(), _dbus_list_get_next_link, _dbus_string_copy_len(), _dbus_string_find(), _dbus_string_find_to(), _dbus_string_free(), _dbus_string_init(), _dbus_string_init_const(), DBusList::data, dbus_error_is_set(), dbus_free(), dbus_new, dbus_new0, dbus_set_error(), FALSE, DBusAddressEntry::keys, DBusAddressEntry::method, NULL, TRUE, and DBusAddressEntry::values.

Referenced by dbus_server_listen().


Generated on Tue Jul 7 15:14:01 2009 for D-BUS by  doxygen 1.4.6