glib2 1.0.0-x86-mingw32 → 1.0.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +107 -0
- data/ext/glib2/glib2.def +12 -1
- data/ext/glib2/rbglib.c +258 -69
- data/ext/glib2/rbglib.h +25 -5
- data/ext/glib2/rbglib_bookmarkfile.c +507 -519
- data/ext/glib2/rbglib_completion.c +4 -4
- data/ext/glib2/rbglib_error.c +1 -1
- data/ext/glib2/rbglib_i18n.c +1 -10
- data/ext/glib2/rbglib_iochannel.c +5 -1
- data/ext/glib2/rbglib_keyfile.c +103 -114
- data/ext/glib2/rbglib_maincontext.c +45 -13
- data/ext/glib2/rbglib_messages.c +2 -1
- data/ext/glib2/rbglib_shell.c +11 -19
- data/ext/glib2/rbglib_spawn.c +28 -110
- data/ext/glib2/rbglib_utils.c +5 -20
- data/ext/glib2/rbgobj_closure.c +3 -2
- data/ext/glib2/rbgobj_enums.c +37 -17
- data/ext/glib2/rbgobj_object.c +3 -3
- data/ext/glib2/rbgobj_param.c +2 -1
- data/ext/glib2/rbgobj_signal.c +9 -10
- data/ext/glib2/rbgobj_strv.c +9 -32
- data/ext/glib2/rbgobj_type.c +7 -6
- data/ext/glib2/rbgobj_typeinterface.c +142 -142
- data/ext/glib2/rbgobj_value.c +2 -1
- data/ext/glib2/rbgobj_valuearray.c +20 -15
- data/ext/glib2/rbgobj_valuetypes.c +3 -2
- data/ext/glib2/rbgobject.c +12 -12
- data/ext/glib2/rbgprivate.h +4 -0
- data/ext/glib2/rbgutil.h +14 -0
- data/ext/glib2/rbgutil_callback.c +22 -14
- data/lib/1.8/glib2.so +0 -0
- data/lib/1.9/glib2.so +0 -0
- data/lib/glib2.rb +30 -20
- data/lib/mkmf-gnome2.rb +6 -2
- data/test/glib-test-init.rb +1 -0
- metadata +4 -4
data/ext/glib2/rbglib.h
CHANGED
@@ -23,7 +23,7 @@ extern "C" {
|
|
23
23
|
|
24
24
|
#define RBGLIB_MAJOR_VERSION 1
|
25
25
|
#define RBGLIB_MINOR_VERSION 0
|
26
|
-
#define RBGLIB_MICRO_VERSION
|
26
|
+
#define RBGLIB_MICRO_VERSION 1
|
27
27
|
|
28
28
|
#ifndef RSTRING_PTR
|
29
29
|
# define RSTRING_PTR(s) (RSTRING(s)->ptr)
|
@@ -52,13 +52,22 @@ typedef int GPid;
|
|
52
52
|
#define CSTR2RVAL_LEN(s, l) (rbg_cstr2rval_len(s, l))
|
53
53
|
#define CSTR2RVAL_ENC(s, e) (rbg_cstr2rval_with_encoding(s, e))
|
54
54
|
#define CSTR2RVAL_LEN_ENC(s, l, e) (rbg_cstr2rval_len_with_encoding(s, l, e))
|
55
|
-
#define CSTR2RVAL_FREE(s) (
|
55
|
+
#define CSTR2RVAL_FREE(s) (rbg_cstr2rval_free(s))
|
56
56
|
#define CSTR2RVAL2(s) (CSTR2RVAL_FREE(s))
|
57
57
|
|
58
58
|
#define RVAL2CSTRFILENAME(v) (rbg_filename_from_ruby(v))
|
59
|
+
#define CSTRFILENAME2RVAL(s) (rbg_filename_to_ruby(s))
|
59
60
|
#define CSTRFILENAME2RVAL_FREE(s) (rbg_filename_to_ruby_free(s))
|
60
61
|
#define CSTRFILENAMEARRAY2RVAL_FREE(s) (rbg_filename_gslist_to_array_free(s))
|
61
62
|
|
63
|
+
#define RVAL2STRV(ary) rbg_rval2strv(ary)
|
64
|
+
#define RVAL2STRV_ACCEPT_NIL(ary) rbg_rval2strv_accept_nil(ary)
|
65
|
+
#define RVAL2STRV_DUP(ary) rbg_rval2strv_dup(ary)
|
66
|
+
#define RVAL2STRV_DUP_ACCEPT_NIL(ary) rbg_rval2strv_dup_accept_nil(ary)
|
67
|
+
|
68
|
+
#define STRV2RVAL(strings) rbg_strv2rval(strings)
|
69
|
+
#define STRV2RVAL_FREE(strings) rbg_strv2rval_free(strings)
|
70
|
+
|
62
71
|
#define CBOOL2RVAL(b) ((b) ? Qtrue : Qfalse)
|
63
72
|
#define RVAL2CBOOL(b) (RTEST(b))
|
64
73
|
#define GERROR2RVAL(error) (rbgerr_gerror2exception(error))
|
@@ -83,20 +92,31 @@ RUBY_GLIB2_VAR VALUE mGLib;
|
|
83
92
|
extern const gchar *rbg_rval_inspect(VALUE object);
|
84
93
|
|
85
94
|
extern gchar* rbg_string_value_ptr(volatile VALUE* ptr); /* no longer used */
|
86
|
-
extern gchar *rbg_rval2cstr(VALUE *str);
|
87
|
-
extern gchar *rbg_rval2cstr_accept_nil(VALUE *str);
|
95
|
+
extern const gchar *rbg_rval2cstr(VALUE *str);
|
96
|
+
extern const gchar *rbg_rval2cstr_accept_nil(VALUE *str);
|
88
97
|
extern VALUE rbg_cstr2rval(const gchar* str);
|
89
98
|
extern VALUE rbg_cstr2rval_len(const gchar* str, gsize len);
|
90
99
|
extern VALUE rbg_cstr2rval_with_encoding(const gchar* str,
|
91
100
|
const gchar *encoding);
|
92
101
|
extern VALUE rbg_cstr2rval_len_with_encoding(const gchar* str, gsize len,
|
93
102
|
const gchar *encoding);
|
94
|
-
extern VALUE
|
103
|
+
extern VALUE rbg_cstr2rval_free(gchar *str);
|
104
|
+
/* just for backward compatibility. */
|
105
|
+
extern VALUE rbg_cstr2rval_with_free(gchar *str);
|
95
106
|
|
107
|
+
VALUE rbg_filename_to_ruby(const gchar *filename);
|
96
108
|
extern VALUE rbg_filename_to_ruby_free(gchar *filename);
|
97
109
|
extern gchar *rbg_filename_from_ruby(VALUE filename);
|
98
110
|
extern VALUE rbg_filename_gslist_to_array_free(GSList *list);
|
99
111
|
|
112
|
+
const gchar **rbg_rval2strv(VALUE ary);
|
113
|
+
const gchar **rbg_rval2strv_accept_nil(VALUE ary);
|
114
|
+
gchar **rbg_rval2strv_dup(VALUE ary);
|
115
|
+
gchar **rbg_rval2strv_dup_accept_nil(VALUE ary);
|
116
|
+
const gchar **rbg_rval2argv(VALUE ary);
|
117
|
+
VALUE rbg_strv2rval(const gchar **strings);
|
118
|
+
VALUE rbg_strv2rval_free(gchar **strings);
|
119
|
+
|
100
120
|
/* rbgerror.h */
|
101
121
|
extern VALUE rbgerr_gerror2exception(GError *error);
|
102
122
|
extern VALUE rbgerr_define_gerror(GQuark domain, const gchar* name, VALUE module, VALUE parent, VALUE gtype);
|
@@ -1,553 +1,541 @@
|
|
1
|
-
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
-
/************************************************
|
3
|
-
|
4
|
-
rbglib_bookmarkfile.c -
|
5
|
-
|
6
|
-
$Author: sakai $
|
7
|
-
$Date: 2007/07/07 08:25:33 $
|
8
|
-
|
9
|
-
Copyright (C) 2006 Masao Mutoh
|
10
|
-
************************************************/
|
11
|
-
|
12
|
-
#include "rbgprivate.h"
|
13
|
-
|
14
|
-
#if GLIB_CHECK_VERSION(2,12,0)
|
15
|
-
/************************************************/
|
16
|
-
static GBookmarkFile*
|
17
|
-
bookmarkfile_copy(const GBookmarkFile* file)
|
18
|
-
{
|
19
|
-
/*
|
20
|
-
GBookmarkFile* new_file;
|
21
|
-
g_return_val_if_fail (file != NULL, NULL);
|
22
|
-
new_file = g_key_file_new();
|
23
|
-
*new_file = (GBookmarkFile*)*file;
|
24
|
-
return new_file;
|
25
|
-
*/
|
26
|
-
return (GBookmarkFile*)file;
|
27
|
-
}
|
28
|
-
|
29
|
-
|
30
|
-
GType
|
31
|
-
g_bookmark_file_get_type(void)
|
32
|
-
{
|
33
|
-
static GType our_type = 0;
|
34
|
-
if (our_type == 0)
|
35
|
-
our_type = g_boxed_type_register_static("GBookmarkFile",
|
36
|
-
(GBoxedCopyFunc)bookmarkfile_copy,
|
37
|
-
(GBoxedFreeFunc)g_bookmark_file_free);
|
38
|
-
return our_type;
|
39
|
-
}
|
40
|
-
/************************************************/
|
41
|
-
|
42
|
-
#define G_TYPE_BOOKMARK_FILE (g_bookmark_file_get_type())
|
43
|
-
#define _SELF(self) ((GBookmarkFile*)(RVAL2BOXED(self, G_TYPE_BOOKMARK_FILE)))
|
44
|
-
|
45
|
-
static VALUE
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/************************************************
|
3
|
+
|
4
|
+
rbglib_bookmarkfile.c -
|
5
|
+
|
6
|
+
$Author: sakai $
|
7
|
+
$Date: 2007/07/07 08:25:33 $
|
8
|
+
|
9
|
+
Copyright (C) 2006 Masao Mutoh
|
10
|
+
************************************************/
|
11
|
+
|
12
|
+
#include "rbgprivate.h"
|
13
|
+
|
14
|
+
#if GLIB_CHECK_VERSION(2,12,0)
|
15
|
+
/************************************************/
|
16
|
+
static GBookmarkFile*
|
17
|
+
bookmarkfile_copy(const GBookmarkFile* file)
|
18
|
+
{
|
19
|
+
/*
|
20
|
+
GBookmarkFile* new_file;
|
21
|
+
g_return_val_if_fail (file != NULL, NULL);
|
22
|
+
new_file = g_key_file_new();
|
23
|
+
*new_file = (GBookmarkFile*)*file;
|
24
|
+
return new_file;
|
25
|
+
*/
|
26
|
+
return (GBookmarkFile*)file;
|
27
|
+
}
|
28
|
+
|
29
|
+
|
30
|
+
GType
|
31
|
+
g_bookmark_file_get_type(void)
|
32
|
+
{
|
33
|
+
static GType our_type = 0;
|
34
|
+
if (our_type == 0)
|
35
|
+
our_type = g_boxed_type_register_static("GBookmarkFile",
|
36
|
+
(GBoxedCopyFunc)bookmarkfile_copy,
|
37
|
+
(GBoxedFreeFunc)g_bookmark_file_free);
|
38
|
+
return our_type;
|
39
|
+
}
|
40
|
+
/************************************************/
|
41
|
+
|
42
|
+
#define G_TYPE_BOOKMARK_FILE (g_bookmark_file_get_type())
|
43
|
+
#define _SELF(self) ((GBookmarkFile*)(RVAL2BOXED(self, G_TYPE_BOOKMARK_FILE)))
|
44
|
+
|
45
|
+
static VALUE
|
46
46
|
bf_initialize(VALUE self)
|
47
|
-
{
|
48
|
-
G_INITIALIZE(self, g_bookmark_file_new());
|
49
|
-
return Qnil;
|
50
|
-
}
|
51
|
-
|
52
|
-
static VALUE
|
53
|
-
bf_load_from_file(VALUE self, VALUE
|
54
|
-
{
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
if (!ret)
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
47
|
+
{
|
48
|
+
G_INITIALIZE(self, g_bookmark_file_new());
|
49
|
+
return Qnil;
|
50
|
+
}
|
51
|
+
|
52
|
+
static VALUE
|
53
|
+
bf_load_from_file(VALUE self, VALUE rbfilename)
|
54
|
+
{
|
55
|
+
gchar *filename = RVAL2CSTRFILENAME(rbfilename);
|
56
|
+
GError* error = NULL;
|
57
|
+
gboolean ret = g_bookmark_file_load_from_file(_SELF(self), filename, &error);
|
58
|
+
g_free(filename);
|
59
|
+
if (!ret)
|
60
|
+
RAISE_GERROR(error);
|
61
|
+
|
62
|
+
return self;
|
63
|
+
}
|
64
|
+
|
65
|
+
static VALUE
|
66
|
+
bf_load_from_data(VALUE self, VALUE data)
|
67
|
+
{
|
68
|
+
GError *error = NULL;
|
69
|
+
|
70
|
+
StringValue(data);
|
71
|
+
if (!g_bookmark_file_load_from_data(_SELF(self),
|
72
|
+
RSTRING_PTR(data),
|
73
|
+
RSTRING_LEN(data),
|
74
|
+
&error))
|
75
|
+
RAISE_GERROR(error);
|
76
|
+
|
77
|
+
return Qnil;
|
78
|
+
}
|
79
|
+
|
80
|
+
static VALUE
|
79
81
|
bf_load_from_data_dirs(VALUE self, VALUE file)
|
80
|
-
{
|
81
|
-
GError* error = NULL;
|
82
|
-
gboolean ret;
|
83
|
-
gchar* full_path;
|
84
|
-
|
85
|
-
ret = g_bookmark_file_load_from_data_dirs(_SELF(self),
|
86
|
-
|
87
|
-
&full_path, &error);
|
88
|
-
|
89
|
-
if (! ret) RAISE_GERROR(error);
|
90
|
-
|
91
|
-
return full_path ? CSTR2RVAL(full_path) : Qnil;
|
92
|
-
}
|
93
|
-
|
94
|
-
static VALUE
|
82
|
+
{
|
83
|
+
GError* error = NULL;
|
84
|
+
gboolean ret;
|
85
|
+
gchar* full_path;
|
86
|
+
|
87
|
+
ret = g_bookmark_file_load_from_data_dirs(_SELF(self),
|
88
|
+
RVAL2CSTR(file),
|
89
|
+
&full_path, &error);
|
90
|
+
|
91
|
+
if (! ret) RAISE_GERROR(error);
|
92
|
+
|
93
|
+
return full_path ? CSTR2RVAL(full_path) : Qnil;
|
94
|
+
}
|
95
|
+
|
96
|
+
static VALUE
|
95
97
|
bf_to_data(VALUE self)
|
96
|
-
{
|
97
|
-
GError* error = NULL;
|
98
|
-
gchar* data = g_bookmark_file_to_data(_SELF(self), NULL, &error);
|
99
|
-
|
100
|
-
if (error) RAISE_GERROR(error);
|
101
|
-
|
102
|
-
return CSTR2RVAL_FREE(data);
|
103
|
-
}
|
104
|
-
|
105
|
-
static VALUE
|
106
|
-
bf_to_file(VALUE self, VALUE
|
107
|
-
{
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
if (!ret)
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
98
|
+
{
|
99
|
+
GError* error = NULL;
|
100
|
+
gchar* data = g_bookmark_file_to_data(_SELF(self), NULL, &error);
|
101
|
+
|
102
|
+
if (error) RAISE_GERROR(error);
|
103
|
+
|
104
|
+
return CSTR2RVAL_FREE(data);
|
105
|
+
}
|
106
|
+
|
107
|
+
static VALUE
|
108
|
+
bf_to_file(VALUE self, VALUE rbfilename)
|
109
|
+
{
|
110
|
+
gchar *filename = RVAL2CSTRFILENAME(rbfilename);
|
111
|
+
GError* error = NULL;
|
112
|
+
gboolean ret = g_bookmark_file_to_file(_SELF(self), filename, &error);
|
113
|
+
g_free(filename);
|
114
|
+
if (!ret)
|
115
|
+
RAISE_GERROR(error);
|
116
|
+
|
117
|
+
return self;
|
118
|
+
}
|
119
|
+
|
120
|
+
static VALUE
|
117
121
|
bf_has_item(VALUE self, VALUE uri)
|
118
|
-
{
|
119
|
-
return CBOOL2RVAL(g_bookmark_file_has_item(_SELF(self),
|
120
|
-
|
121
|
-
}
|
122
|
-
|
123
|
-
static VALUE
|
122
|
+
{
|
123
|
+
return CBOOL2RVAL(g_bookmark_file_has_item(_SELF(self),
|
124
|
+
RVAL2CSTR(uri)));
|
125
|
+
}
|
126
|
+
|
127
|
+
static VALUE
|
124
128
|
bf_has_group(VALUE self, VALUE uri, VALUE group)
|
125
|
-
{
|
126
|
-
GError* error = NULL;
|
127
|
-
return CBOOL2RVAL(g_bookmark_file_has_group(_SELF(self),
|
128
|
-
|
129
|
-
|
130
|
-
&error));
|
131
|
-
}
|
132
|
-
|
133
|
-
static VALUE
|
129
|
+
{
|
130
|
+
GError* error = NULL;
|
131
|
+
return CBOOL2RVAL(g_bookmark_file_has_group(_SELF(self),
|
132
|
+
RVAL2CSTR(uri),
|
133
|
+
RVAL2CSTR(group),
|
134
|
+
&error));
|
135
|
+
}
|
136
|
+
|
137
|
+
static VALUE
|
134
138
|
bf_has_application(VALUE self, VALUE uri, VALUE name)
|
135
|
-
{
|
136
|
-
GError* error = NULL;
|
137
|
-
return CBOOL2RVAL(g_bookmark_file_has_application(_SELF(self),
|
138
|
-
|
139
|
-
|
140
|
-
&error));
|
141
|
-
}
|
142
|
-
|
143
|
-
static VALUE
|
139
|
+
{
|
140
|
+
GError* error = NULL;
|
141
|
+
return CBOOL2RVAL(g_bookmark_file_has_application(_SELF(self),
|
142
|
+
RVAL2CSTR(uri),
|
143
|
+
RVAL2CSTR(name),
|
144
|
+
&error));
|
145
|
+
}
|
146
|
+
|
147
|
+
static VALUE
|
144
148
|
bf_get_size(VALUE self)
|
145
|
-
{
|
146
|
-
return INT2NUM(g_bookmark_file_get_size(_SELF(self)));
|
147
|
-
}
|
148
|
-
|
149
|
-
static VALUE
|
149
|
+
{
|
150
|
+
return INT2NUM(g_bookmark_file_get_size(_SELF(self)));
|
151
|
+
}
|
152
|
+
|
153
|
+
static VALUE
|
150
154
|
bf_get_uris(VALUE self)
|
151
|
-
{
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
for (i = 0; i < len; i++){
|
158
|
-
rb_ary_push(ary, CSTR2RVAL(ret[i]));
|
159
|
-
}
|
160
|
-
|
161
|
-
g_strfreev(ret);
|
162
|
-
|
163
|
-
return ary;
|
164
|
-
}
|
165
|
-
|
166
|
-
static VALUE
|
155
|
+
{
|
156
|
+
return STRV2RVAL_FREE(g_bookmark_file_get_uris(_SELF(self), NULL));
|
157
|
+
}
|
158
|
+
|
159
|
+
static VALUE
|
167
160
|
bf_get_title(VALUE self, VALUE uri)
|
168
|
-
{
|
169
|
-
GError *error = NULL;
|
170
|
-
gchar* ret = g_bookmark_file_get_title(_SELF(self),
|
171
|
-
|
172
|
-
&error);
|
173
|
-
if (error) RAISE_GERROR(error);
|
174
|
-
return CSTR2RVAL_FREE(ret);
|
175
|
-
}
|
176
|
-
|
177
|
-
static VALUE
|
161
|
+
{
|
162
|
+
GError *error = NULL;
|
163
|
+
gchar* ret = g_bookmark_file_get_title(_SELF(self),
|
164
|
+
RVAL2CSTR(uri),
|
165
|
+
&error);
|
166
|
+
if (error) RAISE_GERROR(error);
|
167
|
+
return CSTR2RVAL_FREE(ret);
|
168
|
+
}
|
169
|
+
|
170
|
+
static VALUE
|
178
171
|
bf_get_description(VALUE self, VALUE uri)
|
179
|
-
{
|
180
|
-
GError *error = NULL;
|
181
|
-
gchar* ret = g_bookmark_file_get_description(_SELF(self),
|
182
|
-
|
183
|
-
&error);
|
184
|
-
if (error) RAISE_GERROR(error);
|
185
|
-
return CSTR2RVAL_FREE(ret);
|
186
|
-
}
|
187
|
-
|
188
|
-
static VALUE
|
172
|
+
{
|
173
|
+
GError *error = NULL;
|
174
|
+
gchar* ret = g_bookmark_file_get_description(_SELF(self),
|
175
|
+
RVAL2CSTR(uri),
|
176
|
+
&error);
|
177
|
+
if (error) RAISE_GERROR(error);
|
178
|
+
return CSTR2RVAL_FREE(ret);
|
179
|
+
}
|
180
|
+
|
181
|
+
static VALUE
|
189
182
|
bf_get_mime_type(VALUE self, VALUE uri)
|
190
|
-
{
|
191
|
-
GError *error = NULL;
|
192
|
-
gchar* ret = g_bookmark_file_get_mime_type(_SELF(self),
|
193
|
-
|
194
|
-
&error);
|
195
|
-
if (error) RAISE_GERROR(error);
|
196
|
-
return CSTR2RVAL_FREE(ret);
|
197
|
-
}
|
198
|
-
|
199
|
-
static VALUE
|
183
|
+
{
|
184
|
+
GError *error = NULL;
|
185
|
+
gchar* ret = g_bookmark_file_get_mime_type(_SELF(self),
|
186
|
+
RVAL2CSTR(uri),
|
187
|
+
&error);
|
188
|
+
if (error) RAISE_GERROR(error);
|
189
|
+
return CSTR2RVAL_FREE(ret);
|
190
|
+
}
|
191
|
+
|
192
|
+
static VALUE
|
200
193
|
bf_get_is_private(VALUE self, VALUE uri)
|
201
|
-
{
|
202
|
-
GError *error = NULL;
|
203
|
-
gboolean ret = g_bookmark_file_get_is_private(_SELF(self),
|
204
|
-
|
205
|
-
&error);
|
206
|
-
if (error) RAISE_GERROR(error);
|
207
|
-
return CBOOL2RVAL(ret);
|
208
|
-
}
|
209
|
-
|
210
|
-
static VALUE
|
194
|
+
{
|
195
|
+
GError *error = NULL;
|
196
|
+
gboolean ret = g_bookmark_file_get_is_private(_SELF(self),
|
197
|
+
RVAL2CSTR(uri),
|
198
|
+
&error);
|
199
|
+
if (error) RAISE_GERROR(error);
|
200
|
+
return CBOOL2RVAL(ret);
|
201
|
+
}
|
202
|
+
|
203
|
+
static VALUE
|
211
204
|
bf_get_icon(VALUE self, VALUE uri)
|
212
|
-
{
|
213
|
-
gchar* href;
|
214
|
-
gchar* mime_type;
|
215
|
-
GError *error = NULL;
|
216
|
-
gboolean ret = g_bookmark_file_get_icon(_SELF(self),
|
217
|
-
|
218
|
-
&href, &mime_type,
|
219
|
-
&error);
|
220
|
-
if (!ret){
|
221
|
-
if (error) RAISE_GERROR(error);
|
222
|
-
return Qnil;
|
223
|
-
}
|
224
|
-
return rb_assoc_new(CSTR2RVAL_FREE(href), CSTR2RVAL_FREE(mime_type));
|
225
|
-
}
|
226
|
-
|
227
|
-
static VALUE
|
205
|
+
{
|
206
|
+
gchar* href;
|
207
|
+
gchar* mime_type;
|
208
|
+
GError *error = NULL;
|
209
|
+
gboolean ret = g_bookmark_file_get_icon(_SELF(self),
|
210
|
+
RVAL2CSTR(uri),
|
211
|
+
&href, &mime_type,
|
212
|
+
&error);
|
213
|
+
if (!ret){
|
214
|
+
if (error) RAISE_GERROR(error);
|
215
|
+
return Qnil;
|
216
|
+
}
|
217
|
+
return rb_assoc_new(CSTR2RVAL_FREE(href), CSTR2RVAL_FREE(mime_type));
|
218
|
+
}
|
219
|
+
|
220
|
+
static VALUE
|
228
221
|
bf_get_added(VALUE self, VALUE uri)
|
229
|
-
{
|
230
|
-
GError *error = NULL;
|
231
|
-
time_t ret = g_bookmark_file_get_added(_SELF(self),
|
232
|
-
|
233
|
-
&error);
|
234
|
-
if (!ret) RAISE_GERROR(error);
|
235
|
-
|
236
|
-
return rb_time_new(ret, 0);
|
237
|
-
}
|
238
|
-
|
239
|
-
static VALUE
|
222
|
+
{
|
223
|
+
GError *error = NULL;
|
224
|
+
time_t ret = g_bookmark_file_get_added(_SELF(self),
|
225
|
+
RVAL2CSTR(uri),
|
226
|
+
&error);
|
227
|
+
if (!ret) RAISE_GERROR(error);
|
228
|
+
|
229
|
+
return rb_time_new(ret, 0);
|
230
|
+
}
|
231
|
+
|
232
|
+
static VALUE
|
240
233
|
bf_get_modified(VALUE self, VALUE uri)
|
241
|
-
{
|
242
|
-
GError *error = NULL;
|
243
|
-
time_t ret = g_bookmark_file_get_modified(_SELF(self),
|
244
|
-
|
245
|
-
&error);
|
246
|
-
if (!ret) RAISE_GERROR(error);
|
247
|
-
|
248
|
-
return rb_time_new(ret, 0);
|
249
|
-
}
|
250
|
-
|
251
|
-
static VALUE
|
234
|
+
{
|
235
|
+
GError *error = NULL;
|
236
|
+
time_t ret = g_bookmark_file_get_modified(_SELF(self),
|
237
|
+
RVAL2CSTR(uri),
|
238
|
+
&error);
|
239
|
+
if (!ret) RAISE_GERROR(error);
|
240
|
+
|
241
|
+
return rb_time_new(ret, 0);
|
242
|
+
}
|
243
|
+
|
244
|
+
static VALUE
|
252
245
|
bf_get_visited(VALUE self, VALUE uri)
|
253
|
-
{
|
254
|
-
GError *error = NULL;
|
255
|
-
time_t ret = g_bookmark_file_get_visited(_SELF(self),
|
256
|
-
|
257
|
-
&error);
|
258
|
-
if (!ret) RAISE_GERROR(error);
|
259
|
-
|
260
|
-
return rb_time_new(ret, 0);
|
261
|
-
}
|
262
|
-
|
263
|
-
static VALUE
|
246
|
+
{
|
247
|
+
GError *error = NULL;
|
248
|
+
time_t ret = g_bookmark_file_get_visited(_SELF(self),
|
249
|
+
RVAL2CSTR(uri),
|
250
|
+
&error);
|
251
|
+
if (!ret) RAISE_GERROR(error);
|
252
|
+
|
253
|
+
return rb_time_new(ret, 0);
|
254
|
+
}
|
255
|
+
|
256
|
+
static VALUE
|
264
257
|
bf_get_groups(VALUE self, VALUE uri)
|
265
|
-
{
|
266
|
-
gsize length;
|
267
|
-
VALUE ary;
|
268
|
-
|
269
|
-
GError* error = NULL;
|
270
|
-
gchar** ret = g_bookmark_file_get_groups(_SELF(self),
|
271
|
-
|
272
|
-
&length, &error);
|
273
|
-
if (error) RAISE_GERROR(error);
|
274
|
-
|
275
|
-
|
276
|
-
ary = rb_ary_new();
|
277
|
-
for(i = 0; i < length; i++){
|
278
|
-
rb_ary_push(ary, CSTR2RVAL(ret[i]));
|
279
|
-
}
|
280
|
-
|
281
|
-
g_strfreev(ret);
|
282
|
-
return ary;
|
283
|
-
}
|
284
|
-
|
285
|
-
static VALUE
|
258
|
+
{
|
259
|
+
gsize length;
|
260
|
+
VALUE ary;
|
261
|
+
gsize i;
|
262
|
+
GError* error = NULL;
|
263
|
+
gchar** ret = g_bookmark_file_get_groups(_SELF(self),
|
264
|
+
RVAL2CSTR(uri),
|
265
|
+
&length, &error);
|
266
|
+
if (error) RAISE_GERROR(error);
|
267
|
+
|
268
|
+
|
269
|
+
ary = rb_ary_new();
|
270
|
+
for(i = 0; i < length; i++){
|
271
|
+
rb_ary_push(ary, CSTR2RVAL(ret[i]));
|
272
|
+
}
|
273
|
+
|
274
|
+
g_strfreev(ret);
|
275
|
+
return ary;
|
276
|
+
}
|
277
|
+
|
278
|
+
static VALUE
|
286
279
|
bf_get_applications(VALUE self, VALUE uri)
|
287
|
-
{
|
288
|
-
gsize length;
|
289
|
-
VALUE ary;
|
290
|
-
|
291
|
-
GError* error = NULL;
|
292
|
-
gchar** ret = g_bookmark_file_get_applications(_SELF(self),
|
293
|
-
|
294
|
-
&length, &error);
|
295
|
-
if (error) RAISE_GERROR(error);
|
296
|
-
|
297
|
-
|
298
|
-
ary = rb_ary_new();
|
299
|
-
for(i = 0; i < length; i++){
|
300
|
-
rb_ary_push(ary, CSTR2RVAL(ret[i]));
|
301
|
-
}
|
302
|
-
|
303
|
-
g_strfreev(ret);
|
304
|
-
return ary;
|
305
|
-
}
|
306
|
-
|
307
|
-
static VALUE
|
280
|
+
{
|
281
|
+
gsize length;
|
282
|
+
VALUE ary;
|
283
|
+
gsize i;
|
284
|
+
GError* error = NULL;
|
285
|
+
gchar** ret = g_bookmark_file_get_applications(_SELF(self),
|
286
|
+
RVAL2CSTR(uri),
|
287
|
+
&length, &error);
|
288
|
+
if (error) RAISE_GERROR(error);
|
289
|
+
|
290
|
+
|
291
|
+
ary = rb_ary_new();
|
292
|
+
for(i = 0; i < length; i++){
|
293
|
+
rb_ary_push(ary, CSTR2RVAL(ret[i]));
|
294
|
+
}
|
295
|
+
|
296
|
+
g_strfreev(ret);
|
297
|
+
return ary;
|
298
|
+
}
|
299
|
+
|
300
|
+
static VALUE
|
308
301
|
bf_get_app_info(VALUE self, VALUE uri, VALUE name)
|
309
|
-
{
|
310
|
-
gchar* exec;
|
311
|
-
guint count;
|
312
|
-
time_t stamp;
|
313
|
-
GError* error = NULL;
|
314
|
-
|
315
|
-
gboolean ret = g_bookmark_file_get_app_info(_SELF(self),
|
316
|
-
|
317
|
-
|
318
|
-
&exec, &count, &stamp, &error);
|
319
|
-
if (!ret) RAISE_GERROR(error);
|
320
|
-
|
321
|
-
return rb_ary_new3(3, CSTR2RVAL(exec), UINT2NUM(count), rb_time_new(stamp, 0));
|
322
|
-
}
|
323
|
-
|
324
|
-
static VALUE
|
302
|
+
{
|
303
|
+
gchar* exec;
|
304
|
+
guint count;
|
305
|
+
time_t stamp;
|
306
|
+
GError* error = NULL;
|
307
|
+
|
308
|
+
gboolean ret = g_bookmark_file_get_app_info(_SELF(self),
|
309
|
+
RVAL2CSTR(uri),
|
310
|
+
RVAL2CSTR(name),
|
311
|
+
&exec, &count, &stamp, &error);
|
312
|
+
if (!ret) RAISE_GERROR(error);
|
313
|
+
|
314
|
+
return rb_ary_new3(3, CSTR2RVAL(exec), UINT2NUM(count), rb_time_new(stamp, 0));
|
315
|
+
}
|
316
|
+
|
317
|
+
static VALUE
|
325
318
|
bf_set_title(VALUE self, VALUE uri, VALUE title)
|
326
|
-
{
|
327
|
-
g_bookmark_file_set_title(_SELF(self),
|
328
|
-
|
329
|
-
|
330
|
-
return self;
|
331
|
-
}
|
332
|
-
|
333
|
-
static VALUE
|
319
|
+
{
|
320
|
+
g_bookmark_file_set_title(_SELF(self),
|
321
|
+
RVAL2CSTR(uri),
|
322
|
+
RVAL2CSTR(title));
|
323
|
+
return self;
|
324
|
+
}
|
325
|
+
|
326
|
+
static VALUE
|
334
327
|
bf_set_description(VALUE self, VALUE uri, VALUE description)
|
335
|
-
{
|
336
|
-
g_bookmark_file_set_description(_SELF(self),
|
337
|
-
|
338
|
-
|
339
|
-
return self;
|
340
|
-
}
|
341
|
-
|
342
|
-
static VALUE
|
328
|
+
{
|
329
|
+
g_bookmark_file_set_description(_SELF(self),
|
330
|
+
RVAL2CSTR(uri),
|
331
|
+
RVAL2CSTR(description));
|
332
|
+
return self;
|
333
|
+
}
|
334
|
+
|
335
|
+
static VALUE
|
343
336
|
bf_set_mime_type(VALUE self, VALUE uri, VALUE mime_type)
|
344
|
-
{
|
345
|
-
g_bookmark_file_set_mime_type(_SELF(self),
|
346
|
-
|
347
|
-
|
348
|
-
return self;
|
349
|
-
}
|
350
|
-
|
351
|
-
static VALUE
|
337
|
+
{
|
338
|
+
g_bookmark_file_set_mime_type(_SELF(self),
|
339
|
+
RVAL2CSTR(uri),
|
340
|
+
RVAL2CSTR(mime_type));
|
341
|
+
return self;
|
342
|
+
}
|
343
|
+
|
344
|
+
static VALUE
|
352
345
|
bf_set_is_private(VALUE self, VALUE uri, VALUE is_private)
|
353
|
-
{
|
354
|
-
g_bookmark_file_set_is_private(_SELF(self),
|
355
|
-
|
356
|
-
RVAL2CBOOL(is_private));
|
357
|
-
return self;
|
358
|
-
}
|
359
|
-
|
360
|
-
static VALUE
|
346
|
+
{
|
347
|
+
g_bookmark_file_set_is_private(_SELF(self),
|
348
|
+
RVAL2CSTR(uri),
|
349
|
+
RVAL2CBOOL(is_private));
|
350
|
+
return self;
|
351
|
+
}
|
352
|
+
|
353
|
+
static VALUE
|
361
354
|
bf_set_icon(VALUE self, VALUE uri, VALUE href, VALUE mime_type)
|
362
|
-
{
|
363
|
-
g_bookmark_file_set_icon(_SELF(self),
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
return self;
|
368
|
-
}
|
369
|
-
|
370
|
-
static VALUE
|
355
|
+
{
|
356
|
+
g_bookmark_file_set_icon(_SELF(self),
|
357
|
+
RVAL2CSTR(uri),
|
358
|
+
RVAL2CSTR(href),
|
359
|
+
RVAL2CSTR(mime_type));
|
360
|
+
return self;
|
361
|
+
}
|
362
|
+
|
363
|
+
static VALUE
|
371
364
|
bf_set_added(VALUE self, VALUE uri, VALUE time)
|
372
|
-
{
|
373
|
-
g_bookmark_file_set_added(_SELF(self),
|
374
|
-
|
375
|
-
(time_t)NUM2LONG(rb_Integer(time)));
|
376
|
-
return self;
|
377
|
-
}
|
378
|
-
|
379
|
-
static VALUE
|
380
|
-
bf_set_groups(VALUE self, VALUE uri, VALUE
|
381
|
-
{
|
382
|
-
|
383
|
-
gchar**
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
return self;
|
394
|
-
}
|
395
|
-
|
396
|
-
static VALUE
|
365
|
+
{
|
366
|
+
g_bookmark_file_set_added(_SELF(self),
|
367
|
+
RVAL2CSTR(uri),
|
368
|
+
(time_t)NUM2LONG(rb_Integer(time)));
|
369
|
+
return self;
|
370
|
+
}
|
371
|
+
|
372
|
+
static VALUE
|
373
|
+
bf_set_groups(VALUE self, VALUE uri, VALUE rbgroups)
|
374
|
+
{
|
375
|
+
VALUE ary = rb_ary_to_ary(rbgroups);
|
376
|
+
const gchar **groups = RVAL2STRV(ary);
|
377
|
+
|
378
|
+
g_bookmark_file_set_groups(_SELF(self), RVAL2CSTR(uri), groups, RARRAY_LEN(ary));
|
379
|
+
|
380
|
+
g_free(groups);
|
381
|
+
|
382
|
+
return self;
|
383
|
+
}
|
384
|
+
|
385
|
+
static VALUE
|
397
386
|
bf_set_modified(VALUE self, VALUE uri, VALUE time)
|
398
|
-
{
|
399
|
-
g_bookmark_file_set_modified(_SELF(self),
|
400
|
-
|
401
|
-
(time_t)NUM2LONG(rb_Integer(time)));
|
402
|
-
return self;
|
403
|
-
}
|
404
|
-
|
405
|
-
static VALUE
|
387
|
+
{
|
388
|
+
g_bookmark_file_set_modified(_SELF(self),
|
389
|
+
RVAL2CSTR(uri),
|
390
|
+
(time_t)NUM2LONG(rb_Integer(time)));
|
391
|
+
return self;
|
392
|
+
}
|
393
|
+
|
394
|
+
static VALUE
|
406
395
|
bf_set_visited(VALUE self, VALUE uri, VALUE time)
|
407
|
-
{
|
408
|
-
g_bookmark_file_set_visited(_SELF(self),
|
409
|
-
|
410
|
-
(time_t)NUM2LONG(rb_Integer(time)));
|
411
|
-
return self;
|
412
|
-
}
|
413
|
-
|
414
|
-
static VALUE
|
396
|
+
{
|
397
|
+
g_bookmark_file_set_visited(_SELF(self),
|
398
|
+
RVAL2CSTR(uri),
|
399
|
+
(time_t)NUM2LONG(rb_Integer(time)));
|
400
|
+
return self;
|
401
|
+
}
|
402
|
+
|
403
|
+
static VALUE
|
415
404
|
bf_set_app_info(VALUE self, VALUE uri, VALUE name, VALUE exec, VALUE count, VALUE stamp)
|
416
|
-
{
|
417
|
-
GError* error = NULL;
|
418
|
-
gboolean ret = g_bookmark_file_set_app_info(_SELF(self),
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
NUM2INT(count),
|
423
|
-
(time_t)NUM2LONG(rb_Integer(stamp)),
|
424
|
-
&error);
|
425
|
-
|
426
|
-
if (! ret) RAISE_GERROR(error);
|
427
|
-
|
428
|
-
return self;
|
429
|
-
}
|
430
|
-
|
431
|
-
static VALUE
|
405
|
+
{
|
406
|
+
GError* error = NULL;
|
407
|
+
gboolean ret = g_bookmark_file_set_app_info(_SELF(self),
|
408
|
+
RVAL2CSTR(uri),
|
409
|
+
RVAL2CSTR(name),
|
410
|
+
RVAL2CSTR(exec),
|
411
|
+
NUM2INT(count),
|
412
|
+
(time_t)NUM2LONG(rb_Integer(stamp)),
|
413
|
+
&error);
|
414
|
+
|
415
|
+
if (! ret) RAISE_GERROR(error);
|
416
|
+
|
417
|
+
return self;
|
418
|
+
}
|
419
|
+
|
420
|
+
static VALUE
|
432
421
|
bf_add_group(VALUE self, VALUE uri, VALUE group)
|
433
|
-
{
|
434
|
-
g_bookmark_file_add_group(_SELF(self),
|
435
|
-
|
436
|
-
|
437
|
-
return self;
|
438
|
-
}
|
439
|
-
|
440
|
-
static VALUE
|
422
|
+
{
|
423
|
+
g_bookmark_file_add_group(_SELF(self),
|
424
|
+
RVAL2CSTR(uri),
|
425
|
+
RVAL2CSTR(group));
|
426
|
+
return self;
|
427
|
+
}
|
428
|
+
|
429
|
+
static VALUE
|
441
430
|
bf_add_application(VALUE self, VALUE uri, VALUE name, VALUE exec)
|
442
|
-
{
|
443
|
-
g_bookmark_file_add_application(_SELF(self),
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
return self;
|
448
|
-
}
|
449
|
-
|
450
|
-
static VALUE
|
431
|
+
{
|
432
|
+
g_bookmark_file_add_application(_SELF(self),
|
433
|
+
RVAL2CSTR(uri),
|
434
|
+
RVAL2CSTR(name),
|
435
|
+
RVAL2CSTR(exec));
|
436
|
+
return self;
|
437
|
+
}
|
438
|
+
|
439
|
+
static VALUE
|
451
440
|
bf_remove_group(VALUE self, VALUE uri, VALUE group)
|
452
|
-
{
|
453
|
-
GError* error = NULL;
|
454
|
-
gboolean ret = g_bookmark_file_remove_group(_SELF(self),
|
455
|
-
|
456
|
-
|
457
|
-
&error);
|
458
|
-
if (! ret) RAISE_GERROR(error);
|
459
|
-
|
460
|
-
return self;
|
461
|
-
}
|
462
|
-
|
463
|
-
static VALUE
|
441
|
+
{
|
442
|
+
GError* error = NULL;
|
443
|
+
gboolean ret = g_bookmark_file_remove_group(_SELF(self),
|
444
|
+
RVAL2CSTR(uri),
|
445
|
+
RVAL2CSTR(group),
|
446
|
+
&error);
|
447
|
+
if (! ret) RAISE_GERROR(error);
|
448
|
+
|
449
|
+
return self;
|
450
|
+
}
|
451
|
+
|
452
|
+
static VALUE
|
464
453
|
bf_remove_application(VALUE self, VALUE uri, VALUE name)
|
465
|
-
{
|
466
|
-
GError *error = NULL;
|
467
|
-
gboolean ret = g_bookmark_file_remove_application(_SELF(self),
|
468
|
-
|
469
|
-
|
470
|
-
&error);
|
471
|
-
if (! ret) RAISE_GERROR(error);
|
472
|
-
|
473
|
-
return self;
|
474
|
-
}
|
475
|
-
|
476
|
-
|
477
|
-
static VALUE
|
454
|
+
{
|
455
|
+
GError *error = NULL;
|
456
|
+
gboolean ret = g_bookmark_file_remove_application(_SELF(self),
|
457
|
+
RVAL2CSTR(uri),
|
458
|
+
RVAL2CSTR(name),
|
459
|
+
&error);
|
460
|
+
if (! ret) RAISE_GERROR(error);
|
461
|
+
|
462
|
+
return self;
|
463
|
+
}
|
464
|
+
|
465
|
+
|
466
|
+
static VALUE
|
478
467
|
bf_remove_item(VALUE self, VALUE uri)
|
479
|
-
{
|
480
|
-
GError *error = NULL;
|
481
|
-
gboolean ret = g_bookmark_file_remove_item(_SELF(self),
|
482
|
-
|
483
|
-
&error);
|
484
|
-
if (! ret) RAISE_GERROR(error);
|
485
|
-
|
486
|
-
return self;
|
487
|
-
}
|
488
|
-
|
489
|
-
static VALUE
|
468
|
+
{
|
469
|
+
GError *error = NULL;
|
470
|
+
gboolean ret = g_bookmark_file_remove_item(_SELF(self),
|
471
|
+
RVAL2CSTR(uri),
|
472
|
+
&error);
|
473
|
+
if (! ret) RAISE_GERROR(error);
|
474
|
+
|
475
|
+
return self;
|
476
|
+
}
|
477
|
+
|
478
|
+
static VALUE
|
490
479
|
bf_move_item(VALUE self, VALUE old_uri, VALUE new_uri)
|
491
|
-
{
|
492
|
-
GError *error = NULL;
|
493
|
-
gboolean ret = g_bookmark_file_move_item(_SELF(self),
|
494
|
-
|
495
|
-
|
496
|
-
&error);
|
497
|
-
if (! ret) RAISE_GERROR(error);
|
498
|
-
|
499
|
-
return self;
|
500
|
-
}
|
501
|
-
|
502
|
-
#endif
|
503
|
-
|
504
|
-
void
|
505
|
-
Init_glib_bookmark_file()
|
506
|
-
{
|
507
|
-
#if GLIB_CHECK_VERSION(2,12,0)
|
508
|
-
VALUE bf = G_DEF_CLASS(G_TYPE_BOOKMARK_FILE, "BookmarkFile", mGLib);
|
509
|
-
|
510
|
-
G_DEF_ERROR(G_BOOKMARK_FILE_ERROR, "BookmarkFileError", mGLib,
|
511
|
-
rb_eRuntimeError, G_TYPE_BOOKMARK_FILE_ERROR);
|
512
|
-
|
513
|
-
rb_define_method(bf, "initialize", bf_initialize, 0);
|
514
|
-
rb_define_method(bf, "load_from_file", bf_load_from_file, 1);
|
515
|
-
rb_define_method(bf, "load_from_data", bf_load_from_data, 1);
|
516
|
-
rb_define_method(bf, "load_from_data_dirs", bf_load_from_data_dirs, 1);
|
517
|
-
rb_define_method(bf, "to_data", bf_to_data, 0);
|
518
|
-
rb_define_method(bf, "to_file", bf_to_file, 1);
|
519
|
-
rb_define_method(bf, "has_item?", bf_has_item, 1);
|
520
|
-
rb_define_method(bf, "has_group?", bf_has_group, 2);
|
521
|
-
rb_define_method(bf, "has_application?", bf_has_application, 2);
|
522
|
-
rb_define_method(bf, "size", bf_get_size, 0);
|
523
|
-
rb_define_method(bf, "uris", bf_get_uris, 0);
|
524
|
-
rb_define_method(bf, "get_title", bf_get_title, 1);
|
525
|
-
rb_define_method(bf, "get_description", bf_get_description, 1);
|
526
|
-
rb_define_method(bf, "get_mime_type", bf_get_mime_type, 1);
|
527
|
-
rb_define_method(bf, "private?", bf_get_is_private, 1);
|
528
|
-
rb_define_method(bf, "get_icon", bf_get_icon, 1);
|
529
|
-
rb_define_method(bf, "get_added", bf_get_added, 1);
|
530
|
-
rb_define_method(bf, "get_modified", bf_get_modified, 1);
|
531
|
-
rb_define_method(bf, "get_visited", bf_get_visited, 1);
|
532
|
-
rb_define_method(bf, "get_groups", bf_get_groups, 1);
|
533
|
-
rb_define_method(bf, "get_applications", bf_get_applications, 1);
|
534
|
-
rb_define_method(bf, "get_app_info", bf_get_app_info, 2);
|
535
|
-
rb_define_method(bf, "set_title", bf_set_title, 2);
|
536
|
-
rb_define_method(bf, "set_description", bf_set_description, 2);
|
537
|
-
rb_define_method(bf, "set_mime_type", bf_set_mime_type, 2);
|
538
|
-
rb_define_method(bf, "set_private", bf_set_is_private, 2);
|
539
|
-
rb_define_method(bf, "set_icon", bf_set_icon, 3);
|
540
|
-
rb_define_method(bf, "set_added", bf_set_added, 2);
|
541
|
-
rb_define_method(bf, "set_groups", bf_set_groups, 2);
|
542
|
-
rb_define_method(bf, "set_modified", bf_set_modified, 2);
|
543
|
-
rb_define_method(bf, "set_visited", bf_set_visited, 2);
|
544
|
-
rb_define_method(bf, "set_app_info", bf_set_app_info, 5);
|
545
|
-
rb_define_method(bf, "add_group", bf_add_group, 2);
|
546
|
-
rb_define_method(bf, "add_application", bf_add_application, 3);
|
547
|
-
rb_define_method(bf, "remove_group", bf_remove_group, 2);
|
548
|
-
rb_define_method(bf, "remove_application", bf_remove_application, 2);
|
549
|
-
rb_define_method(bf, "remove_item", bf_remove_item, 1);
|
550
|
-
rb_define_method(bf, "move_item", bf_move_item, 2);
|
551
|
-
#endif
|
552
|
-
}
|
553
|
-
|
480
|
+
{
|
481
|
+
GError *error = NULL;
|
482
|
+
gboolean ret = g_bookmark_file_move_item(_SELF(self),
|
483
|
+
RVAL2CSTR(old_uri),
|
484
|
+
RVAL2CSTR(new_uri),
|
485
|
+
&error);
|
486
|
+
if (! ret) RAISE_GERROR(error);
|
487
|
+
|
488
|
+
return self;
|
489
|
+
}
|
490
|
+
|
491
|
+
#endif
|
492
|
+
|
493
|
+
void
|
494
|
+
Init_glib_bookmark_file()
|
495
|
+
{
|
496
|
+
#if GLIB_CHECK_VERSION(2,12,0)
|
497
|
+
VALUE bf = G_DEF_CLASS(G_TYPE_BOOKMARK_FILE, "BookmarkFile", mGLib);
|
498
|
+
|
499
|
+
G_DEF_ERROR(G_BOOKMARK_FILE_ERROR, "BookmarkFileError", mGLib,
|
500
|
+
rb_eRuntimeError, G_TYPE_BOOKMARK_FILE_ERROR);
|
501
|
+
|
502
|
+
rb_define_method(bf, "initialize", bf_initialize, 0);
|
503
|
+
rb_define_method(bf, "load_from_file", bf_load_from_file, 1);
|
504
|
+
rb_define_method(bf, "load_from_data", bf_load_from_data, 1);
|
505
|
+
rb_define_method(bf, "load_from_data_dirs", bf_load_from_data_dirs, 1);
|
506
|
+
rb_define_method(bf, "to_data", bf_to_data, 0);
|
507
|
+
rb_define_method(bf, "to_file", bf_to_file, 1);
|
508
|
+
rb_define_method(bf, "has_item?", bf_has_item, 1);
|
509
|
+
rb_define_method(bf, "has_group?", bf_has_group, 2);
|
510
|
+
rb_define_method(bf, "has_application?", bf_has_application, 2);
|
511
|
+
rb_define_method(bf, "size", bf_get_size, 0);
|
512
|
+
rb_define_method(bf, "uris", bf_get_uris, 0);
|
513
|
+
rb_define_method(bf, "get_title", bf_get_title, 1);
|
514
|
+
rb_define_method(bf, "get_description", bf_get_description, 1);
|
515
|
+
rb_define_method(bf, "get_mime_type", bf_get_mime_type, 1);
|
516
|
+
rb_define_method(bf, "private?", bf_get_is_private, 1);
|
517
|
+
rb_define_method(bf, "get_icon", bf_get_icon, 1);
|
518
|
+
rb_define_method(bf, "get_added", bf_get_added, 1);
|
519
|
+
rb_define_method(bf, "get_modified", bf_get_modified, 1);
|
520
|
+
rb_define_method(bf, "get_visited", bf_get_visited, 1);
|
521
|
+
rb_define_method(bf, "get_groups", bf_get_groups, 1);
|
522
|
+
rb_define_method(bf, "get_applications", bf_get_applications, 1);
|
523
|
+
rb_define_method(bf, "get_app_info", bf_get_app_info, 2);
|
524
|
+
rb_define_method(bf, "set_title", bf_set_title, 2);
|
525
|
+
rb_define_method(bf, "set_description", bf_set_description, 2);
|
526
|
+
rb_define_method(bf, "set_mime_type", bf_set_mime_type, 2);
|
527
|
+
rb_define_method(bf, "set_private", bf_set_is_private, 2);
|
528
|
+
rb_define_method(bf, "set_icon", bf_set_icon, 3);
|
529
|
+
rb_define_method(bf, "set_added", bf_set_added, 2);
|
530
|
+
rb_define_method(bf, "set_groups", bf_set_groups, 2);
|
531
|
+
rb_define_method(bf, "set_modified", bf_set_modified, 2);
|
532
|
+
rb_define_method(bf, "set_visited", bf_set_visited, 2);
|
533
|
+
rb_define_method(bf, "set_app_info", bf_set_app_info, 5);
|
534
|
+
rb_define_method(bf, "add_group", bf_add_group, 2);
|
535
|
+
rb_define_method(bf, "add_application", bf_add_application, 3);
|
536
|
+
rb_define_method(bf, "remove_group", bf_remove_group, 2);
|
537
|
+
rb_define_method(bf, "remove_application", bf_remove_application, 2);
|
538
|
+
rb_define_method(bf, "remove_item", bf_remove_item, 1);
|
539
|
+
rb_define_method(bf, "move_item", bf_move_item, 2);
|
540
|
+
#endif
|
541
|
+
}
|