2004-05-17 Kristian Høgsberg <krh@redhat.com>
[platform/upstream/dbus.git] / dbus / dbus-string.h
index 065c9ca..1499e0c 100644 (file)
@@ -1,9 +1,9 @@
 /* -*- mode: C; c-file-style: "gnu" -*- */
 /* dbus-string.h String utility class (internal to D-BUS implementation)
  * 
- * Copyright (C) 2002  Red Hat, Inc.
+ * Copyright (C) 2002, 2003 Red Hat, Inc.
  *
- * Licensed under the Academic Free License version 1.2
+ * Licensed under the Academic Free License version 2.0
  * 
  * 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
 
 #include <dbus/dbus-memory.h>
 #include <dbus/dbus-types.h>
+#include <dbus/dbus-sysdeps.h>
 
-DBUS_BEGIN_DECLS;
+#include <stdarg.h>
 
-typedef struct DBusString DBusString;
+DBUS_BEGIN_DECLS;
 
+/**
+ * DBusString object
+ */
 struct DBusString
 {
   void *dummy1; /**< placeholder */
@@ -51,6 +55,8 @@ void          _dbus_string_init_const            (DBusString        *str,
 void          _dbus_string_init_const_len        (DBusString        *str,
                                                   const char        *value,
                                                   int                len);
+dbus_bool_t   _dbus_string_init_preallocated     (DBusString        *str,
+                                                  int                allocate_size);
 void          _dbus_string_free                  (DBusString        *str);
 void          _dbus_string_lock                  (DBusString        *str);
 char*         _dbus_string_get_data              (DBusString        *str);
@@ -66,8 +72,9 @@ void          _dbus_string_set_byte              (DBusString        *str,
                                                   unsigned char      byte);
 unsigned char _dbus_string_get_byte              (const DBusString  *str,
                                                   int                start);
-dbus_bool_t   _dbus_string_insert_byte           (DBusString        *str,
+dbus_bool_t   _dbus_string_insert_bytes          (DBusString        *str,
                                                   int                i,
+                                                 int                n_bytes,
                                                   unsigned char      byte);
 dbus_bool_t   _dbus_string_steal_data            (DBusString        *str,
                                                   char             **data_return);
@@ -105,6 +112,16 @@ dbus_bool_t   _dbus_string_append_byte           (DBusString        *str,
                                                   unsigned char      byte);
 dbus_bool_t   _dbus_string_append_unichar        (DBusString        *str,
                                                   dbus_unichar_t     ch);
+dbus_bool_t   _dbus_string_append_4_aligned      (DBusString        *str,
+                                                  const unsigned char octets[4]);
+dbus_bool_t   _dbus_string_append_8_aligned      (DBusString        *str,
+                                                  const unsigned char octets[8]);
+dbus_bool_t   _dbus_string_append_printf         (DBusString        *str,
+                                                  const char        *format,
+                                                  ...) _DBUS_GNUC_PRINTF (2, 3);
+dbus_bool_t   _dbus_string_append_printf_valist  (DBusString        *str,
+                                                  const char        *format,
+                                                  va_list            args);
 void          _dbus_string_delete                (DBusString        *str,
                                                   int                start,
                                                   int                len);
@@ -185,20 +202,13 @@ dbus_bool_t   _dbus_string_pop_line              (DBusString        *source,
                                                   DBusString        *dest);
 void          _dbus_string_delete_first_word     (DBusString        *str);
 void          _dbus_string_delete_leading_blanks (DBusString        *str);
-dbus_bool_t   _dbus_string_base64_encode         (const DBusString  *source,
-                                                  int                start,
-                                                  DBusString        *dest,
-                                                  int                insert_at);
-dbus_bool_t   _dbus_string_base64_decode         (const DBusString  *source,
-                                                  int                start,
-                                                  DBusString        *dest,
-                                                  int                insert_at);
 dbus_bool_t   _dbus_string_hex_encode            (const DBusString  *source,
                                                   int                start,
                                                   DBusString        *dest,
                                                   int                insert_at);
 dbus_bool_t   _dbus_string_hex_decode            (const DBusString  *source,
                                                   int                start,
+                                                 int               *end_return,
                                                   DBusString        *dest,
                                                   int                insert_at);
 dbus_bool_t   _dbus_string_validate_ascii        (const DBusString  *str,
@@ -210,6 +220,21 @@ dbus_bool_t   _dbus_string_validate_utf8         (const DBusString  *str,
 dbus_bool_t   _dbus_string_validate_nul          (const DBusString  *str,
                                                   int                start,
                                                   int                len);
+dbus_bool_t   _dbus_string_validate_path         (const DBusString  *str,
+                                                  int                start,
+                                                  int                len);
+dbus_bool_t   _dbus_string_validate_interface    (const DBusString  *str,
+                                                  int                start,
+                                                  int                len);
+dbus_bool_t   _dbus_string_validate_member       (const DBusString  *str,
+                                                  int                start,
+                                                  int                len);
+dbus_bool_t   _dbus_string_validate_error_name   (const DBusString  *str,
+                                                  int                start,
+                                                  int                len);
+dbus_bool_t   _dbus_string_validate_service      (const DBusString  *str,
+                                                  int                start,
+                                                  int                len);
 void          _dbus_string_zero                  (DBusString        *str);