1
/* rygel-tracker-regex-filter.c generated by valac 0.14.1, the Vala compiler
2
* generated from rygel-tracker-regex-filter.vala, do not modify */
5
* Copyright (C) 2010 MediaNet Inh.
7
* Author: Sunil Mohan Adapa <sunil@medhas.org>
9
* This file is part of Rygel.
11
* Rygel is free software; you can redistribute it and/or modify
12
* it under the terms of the GNU Lesser General Public License as published by
13
* the Free Software Foundation; either version 2 of the License, or
14
* (at your option) any later version.
16
* Rygel is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU Lesser General Public License for more details.
21
* You should have received a copy of the GNU Lesser General Public License
22
* along with this program; if not, write to the Free Software Foundation,
23
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
27
#include <glib-object.h>
32
#define RYGEL_TRACKER_TYPE_QUERY_FILTER (rygel_tracker_query_filter_get_type ())
33
#define RYGEL_TRACKER_QUERY_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TRACKER_TYPE_QUERY_FILTER, RygelTrackerQueryFilter))
34
#define RYGEL_TRACKER_IS_QUERY_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TRACKER_TYPE_QUERY_FILTER))
35
#define RYGEL_TRACKER_QUERY_FILTER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), RYGEL_TRACKER_TYPE_QUERY_FILTER, RygelTrackerQueryFilterIface))
37
typedef struct _RygelTrackerQueryFilter RygelTrackerQueryFilter;
38
typedef struct _RygelTrackerQueryFilterIface RygelTrackerQueryFilterIface;
40
#define RYGEL_TRACKER_TYPE_REGEX_FILTER (rygel_tracker_regex_filter_get_type ())
41
#define RYGEL_TRACKER_REGEX_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), RYGEL_TRACKER_TYPE_REGEX_FILTER, RygelTrackerRegexFilter))
42
#define RYGEL_TRACKER_REGEX_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), RYGEL_TRACKER_TYPE_REGEX_FILTER, RygelTrackerRegexFilterClass))
43
#define RYGEL_TRACKER_IS_REGEX_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), RYGEL_TRACKER_TYPE_REGEX_FILTER))
44
#define RYGEL_TRACKER_IS_REGEX_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), RYGEL_TRACKER_TYPE_REGEX_FILTER))
45
#define RYGEL_TRACKER_REGEX_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), RYGEL_TRACKER_TYPE_REGEX_FILTER, RygelTrackerRegexFilterClass))
47
typedef struct _RygelTrackerRegexFilter RygelTrackerRegexFilter;
48
typedef struct _RygelTrackerRegexFilterClass RygelTrackerRegexFilterClass;
49
typedef struct _RygelTrackerRegexFilterPrivate RygelTrackerRegexFilterPrivate;
50
#define _g_free0(var) (var = (g_free (var), NULL))
52
struct _RygelTrackerQueryFilterIface {
53
GTypeInterface parent_iface;
54
gchar* (*to_string) (RygelTrackerQueryFilter* self);
57
struct _RygelTrackerRegexFilter {
58
GObject parent_instance;
59
RygelTrackerRegexFilterPrivate * priv;
65
struct _RygelTrackerRegexFilterClass {
66
GObjectClass parent_class;
70
static gpointer rygel_tracker_regex_filter_parent_class = NULL;
71
static RygelTrackerQueryFilterIface* rygel_tracker_regex_filter_rygel_tracker_query_filter_parent_iface = NULL;
73
GType rygel_tracker_query_filter_get_type (void) G_GNUC_CONST;
74
GType rygel_tracker_regex_filter_get_type (void) G_GNUC_CONST;
76
RYGEL_TRACKER_REGEX_FILTER_DUMMY_PROPERTY
78
RygelTrackerRegexFilter* rygel_tracker_regex_filter_new (const gchar* subject, const gchar* regex, const gchar* flags);
79
RygelTrackerRegexFilter* rygel_tracker_regex_filter_construct (GType object_type, const gchar* subject, const gchar* regex, const gchar* flags);
80
static gchar* rygel_tracker_regex_filter_real_to_string (RygelTrackerQueryFilter* base);
81
static void rygel_tracker_regex_filter_finalize (GObject* obj);
84
RygelTrackerRegexFilter* rygel_tracker_regex_filter_construct (GType object_type, const gchar* subject, const gchar* regex, const gchar* flags) {
85
RygelTrackerRegexFilter * self = NULL;
92
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
93
g_return_val_if_fail (subject != NULL, NULL);
94
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
95
g_return_val_if_fail (regex != NULL, NULL);
96
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
97
g_return_val_if_fail (flags != NULL, NULL);
98
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
99
self = (RygelTrackerRegexFilter*) g_object_new (object_type, NULL);
100
#line 32 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
102
#line 32 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
103
_tmp1_ = g_strdup (_tmp0_);
104
#line 32 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
105
_g_free0 (self->subject);
106
#line 32 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
107
self->subject = _tmp1_;
108
#line 33 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
110
#line 33 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
111
_tmp3_ = g_strdup (_tmp2_);
112
#line 33 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
113
_g_free0 (self->regex);
114
#line 33 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
115
self->regex = _tmp3_;
116
#line 34 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
118
#line 34 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
119
_tmp5_ = g_strdup (_tmp4_);
120
#line 34 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
121
_g_free0 (self->flags);
122
#line 34 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
123
self->flags = _tmp5_;
124
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
126
#line 127 "rygel-tracker-regex-filter.c"
130
RygelTrackerRegexFilter* rygel_tracker_regex_filter_new (const gchar* subject, const gchar* regex, const gchar* flags) {
131
#line 31 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
132
return rygel_tracker_regex_filter_construct (RYGEL_TRACKER_TYPE_REGEX_FILTER, subject, regex, flags);
133
#line 134 "rygel-tracker-regex-filter.c"
137
static gchar* rygel_tracker_regex_filter_real_to_string (RygelTrackerQueryFilter* base) {
138
RygelTrackerRegexFilter * self;
139
gchar* result = NULL;
150
const gchar* _tmp10_;
155
#line 37 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
156
self = (RygelTrackerRegexFilter*) base;
157
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
158
_tmp0_ = self->subject;
159
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
160
_tmp1_ = g_strconcat ("regex(", _tmp0_, NULL);
161
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
163
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
164
_tmp3_ = g_strconcat (_tmp2_, ", \"", NULL);
165
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
167
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
168
_tmp5_ = self->regex;
169
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
170
_tmp6_ = g_strconcat (_tmp4_, _tmp5_, NULL);
171
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
173
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
174
_tmp8_ = g_strconcat (_tmp7_, "\", \"", NULL);
175
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
177
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
178
_tmp10_ = self->flags;
179
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
180
_tmp11_ = g_strconcat (_tmp9_, _tmp10_, NULL);
181
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
183
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
184
_tmp13_ = g_strconcat (_tmp12_, "\")", NULL);
185
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
187
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
189
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
191
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
193
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
195
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
197
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
199
#line 38 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
201
#line 202 "rygel-tracker-regex-filter.c"
205
static void rygel_tracker_regex_filter_class_init (RygelTrackerRegexFilterClass * klass) {
206
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
207
rygel_tracker_regex_filter_parent_class = g_type_class_peek_parent (klass);
208
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
209
G_OBJECT_CLASS (klass)->finalize = rygel_tracker_regex_filter_finalize;
210
#line 211 "rygel-tracker-regex-filter.c"
214
static void rygel_tracker_regex_filter_rygel_tracker_query_filter_interface_init (RygelTrackerQueryFilterIface * iface) {
215
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
216
rygel_tracker_regex_filter_rygel_tracker_query_filter_parent_iface = g_type_interface_peek_parent (iface);
217
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
218
iface->to_string = (gchar* (*)(RygelTrackerQueryFilter*)) rygel_tracker_regex_filter_real_to_string;
219
#line 220 "rygel-tracker-regex-filter.c"
223
static void rygel_tracker_regex_filter_instance_init (RygelTrackerRegexFilter * self) {
227
static void rygel_tracker_regex_filter_finalize (GObject* obj) {
228
RygelTrackerRegexFilter * self;
229
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
230
self = RYGEL_TRACKER_REGEX_FILTER (obj);
231
#line 27 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
232
_g_free0 (self->subject);
233
#line 28 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
234
_g_free0 (self->regex);
235
#line 29 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
236
_g_free0 (self->flags);
237
#line 26 "/home/jens/Source/rygel/src/plugins/tracker/rygel-tracker-regex-filter.vala"
238
G_OBJECT_CLASS (rygel_tracker_regex_filter_parent_class)->finalize (obj);
239
#line 240 "rygel-tracker-regex-filter.c"
244
* Regexes in SPARQL query filter
246
GType rygel_tracker_regex_filter_get_type (void) {
247
static volatile gsize rygel_tracker_regex_filter_type_id__volatile = 0;
248
if (g_once_init_enter (&rygel_tracker_regex_filter_type_id__volatile)) {
249
static const GTypeInfo g_define_type_info = { sizeof (RygelTrackerRegexFilterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) rygel_tracker_regex_filter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (RygelTrackerRegexFilter), 0, (GInstanceInitFunc) rygel_tracker_regex_filter_instance_init, NULL };
250
static const GInterfaceInfo rygel_tracker_query_filter_info = { (GInterfaceInitFunc) rygel_tracker_regex_filter_rygel_tracker_query_filter_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
251
GType rygel_tracker_regex_filter_type_id;
252
rygel_tracker_regex_filter_type_id = g_type_register_static (G_TYPE_OBJECT, "RygelTrackerRegexFilter", &g_define_type_info, 0);
253
g_type_add_interface_static (rygel_tracker_regex_filter_type_id, RYGEL_TRACKER_TYPE_QUERY_FILTER, &rygel_tracker_query_filter_info);
254
g_once_init_leave (&rygel_tracker_regex_filter_type_id__volatile, rygel_tracker_regex_filter_type_id);
256
return rygel_tracker_regex_filter_type_id__volatile;