Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

DBusString implementation details
[D-BUS internal implementation details]

DBusString implementation details. More...

Defines

#define ALLOCATION_PADDING   8
 We allocate 1 byte for nul termination, plus 7 bytes for possible align_offset, so we always need 8 bytes on top of the string's length to be in the allocated block.

#define MAX_MAX_LENGTH   (_DBUS_INT_MAX - ALLOCATION_PADDING)
 This is the maximum max length (and thus also the maximum length) of a DBusString.

#define DBUS_GENERIC_STRING_PREAMBLE(real)   _dbus_assert ((real) != NULL); _dbus_assert (!(real)->invalid); _dbus_assert ((real)->len >= 0); _dbus_assert ((real)->allocated >= 0); _dbus_assert ((real)->max_length >= 0); _dbus_assert ((real)->len <= ((real)->allocated - ALLOCATION_PADDING)); _dbus_assert ((real)->len <= (real)->max_length)
 Checks a bunch of assertions about a string object.

#define DBUS_STRING_PREAMBLE(str)
 Checks assertions about a string object that needs to be modifiable - may not be locked or const.

#define DBUS_LOCKED_STRING_PREAMBLE(str)
 Checks assertions about a string object that may be locked but can't be const.

#define DBUS_CONST_STRING_PREAMBLE(str)
 Checks assertions about a string that may be const or locked.


Detailed Description

DBusString implementation details.

The guts of DBusString.


Define Documentation

#define DBUS_CONST_STRING_PREAMBLE str   ) 
 

Value:

Checks assertions about a string that may be const or locked.

Also declares the "real" variable pointing to DBusRealString.

Parameters:
str the string.

Definition at line 121 of file dbus-string.c.

Referenced by _dbus_string_copy_data(), _dbus_string_copy_data_len(), _dbus_string_find_blank(), _dbus_string_find_byte_backward(), _dbus_string_find_to(), _dbus_string_get_byte(), _dbus_string_get_const_data(), _dbus_string_get_const_data_len(), _dbus_string_get_length(), _dbus_string_get_unichar(), _dbus_string_skip_blank(), _dbus_string_skip_white(), _dbus_string_validate_ascii(), _dbus_string_validate_interface(), _dbus_string_validate_member(), _dbus_string_validate_nul(), _dbus_string_validate_path(), and _dbus_string_validate_utf8().

#define DBUS_GENERIC_STRING_PREAMBLE real   )     _dbus_assert ((real) != NULL); _dbus_assert (!(real)->invalid); _dbus_assert ((real)->len >= 0); _dbus_assert ((real)->allocated >= 0); _dbus_assert ((real)->max_length >= 0); _dbus_assert ((real)->len <= ((real)->allocated - ALLOCATION_PADDING)); _dbus_assert ((real)->len <= (real)->max_length)
 

Checks a bunch of assertions about a string object.

Parameters:
real the DBusRealString

Definition at line 92 of file dbus-string.c.

Referenced by _dbus_string_ends_with_c_str(), _dbus_string_equal(), _dbus_string_equal_c_str(), _dbus_string_equal_len(), _dbus_string_free(), and _dbus_string_starts_with_c_str().

#define DBUS_LOCKED_STRING_PREAMBLE str   ) 
 

Value:

DBusRealString *real = (DBusRealString*) str; \ DBUS_GENERIC_STRING_PREAMBLE (real); \ _dbus_assert (!(real)->constant)
Checks assertions about a string object that may be locked but can't be const.

i.e. a string object that we can free. Also declares the "real" variable pointing to DBusRealString.

Parameters:
str the string

Definition at line 112 of file dbus-string.c.

#define DBUS_STRING_PREAMBLE str   ) 
 

Value:

DBusRealString *real = (DBusRealString*) str; \ DBUS_GENERIC_STRING_PREAMBLE (real); \ _dbus_assert (!(real)->constant); \ _dbus_assert (!(real)->locked)
Checks assertions about a string object that needs to be modifiable - may not be locked or const.

Also declares the "real" variable pointing to DBusRealString.

Parameters:
str the string

Definition at line 100 of file dbus-string.c.

Referenced by _dbus_string_append(), _dbus_string_append_4_aligned(), _dbus_string_append_8_aligned(), _dbus_string_append_byte(), _dbus_string_append_len(), _dbus_string_append_printf_valist(), _dbus_string_append_unichar(), _dbus_string_delete(), _dbus_string_get_data(), _dbus_string_get_data_len(), _dbus_string_insert_bytes(), _dbus_string_lengthen(), _dbus_string_set_byte(), _dbus_string_set_length(), _dbus_string_shorten(), _dbus_string_steal_data(), _dbus_string_steal_data_len(), and _dbus_string_zero().


Generated on Mon Jun 27 07:48:24 2005 for D-BUS by doxygen 1.3.7