00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#include <config.h>
00025
#include "dbus-gutils.h"
00026
#include "dbus-gtest.h"
00027
#include <string.h>
00028
00029
#ifndef DOXYGEN_SHOULD_SKIP_THIS
00030
00031
char**
00032 _dbus_gutils_split_path (
const char *path)
00033 {
00034
int len;
00035
char **split;
00036
int n_components;
00037
int i, j, comp;
00038
00039 len = strlen (path);
00040
00041 n_components = 0;
00042 i = 0;
00043
while (i < len)
00044 {
00045
if (path[i] ==
'/')
00046 n_components += 1;
00047 ++i;
00048 }
00049
00050 split = g_new0 (
char*, n_components + 1);
00051
00052 comp = 0;
00053 i = 0;
00054
while (i < len)
00055 {
00056
if (path[i] ==
'/')
00057 ++i;
00058 j = i;
00059
00060
while (j < len && path[j] !=
'/')
00061 ++j;
00062
00063
00064 g_assert (i < j);
00065 g_assert (path[i] !=
'/');
00066 g_assert (j == len || path[j] ==
'/');
00067
00068 split[comp] = g_strndup (&path[i], j - i + 1);
00069
00070 split[comp][j-i] =
'\0';
00071
00072 ++comp;
00073 i = j;
00074 }
00075 g_assert (i == len);
00076
00077
return split;
00078 }
00079
00080
const char *
00081 _dbus_gutils_type_to_string (
int type)
00082 {
00083
switch (type)
00084 {
00085
case DBUS_TYPE_INVALID:
00086
return "invalid";
00087
case DBUS_TYPE_NIL:
00088
return "nil";
00089
case DBUS_TYPE_BOOLEAN:
00090
return "boolean";
00091
case DBUS_TYPE_INT32:
00092
return "int32";
00093
case DBUS_TYPE_UINT32:
00094
return "uint32";
00095
case DBUS_TYPE_DOUBLE:
00096
return "double";
00097
case DBUS_TYPE_STRING:
00098
return "string";
00099
case DBUS_TYPE_CUSTOM:
00100
return "custom";
00101
case DBUS_TYPE_ARRAY:
00102
return "array";
00103
case DBUS_TYPE_DICT:
00104
return "dict";
00105
case DBUS_TYPE_INT64:
00106
return "int64";
00107
case DBUS_TYPE_UINT64:
00108
return "uint64";
00109
default:
00110
return "unknown";
00111 }
00112 }
00113
00114
#ifdef DBUS_BUILD_TESTS
00115
00121 gboolean
00122 _dbus_gutils_test (
const char *test_data_dir)
00123 {
00124
00125
return TRUE;
00126 }
00127
00128
#endif
00129
00130
#endif