1 /* dmapcopy.c generated by valac 0.48.6, the Vala compiler
2  * generated from dmapcopy.vala, do not modify */
3 
4 /*   FILE: dmapcopy.vala -- Copy files from a DMAP server
5  * AUTHOR: W. Michael Petullo <mike@flyn.org>
6  *   DATE: 20 December 2010
7  *
8  * Copyright (c) 2010 W. Michael Petullo <new@flyn.org>
9  * All rights reserved.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU 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.
15  *
16  * This program 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 General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
24  */
25 
26 #include <glib-object.h>
27 #include <libdmapsharing/dmap.h>
28 #include <glib.h>
29 #include <stdlib.h>
30 #include <string.h>
31 #include <stdio.h>
32 #include <gobject/gvaluecollector.h>
33 
34 #define TYPE_DPAP_COPY (dpap_copy_get_type ())
35 #define DPAP_COPY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DPAP_COPY, DPAPCopy))
36 #define DPAP_COPY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DPAP_COPY, DPAPCopyClass))
37 #define IS_DPAP_COPY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DPAP_COPY))
38 #define IS_DPAP_COPY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DPAP_COPY))
39 #define DPAP_COPY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DPAP_COPY, DPAPCopyClass))
40 
41 typedef struct _DPAPCopy DPAPCopy;
42 typedef struct _DPAPCopyClass DPAPCopyClass;
43 typedef struct _DPAPCopyPrivate DPAPCopyPrivate;
44 
45 #define TYPE_VALA_DMAP_DB (vala_dmap_db_get_type ())
46 #define VALA_DMAP_DB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VALA_DMAP_DB, ValaDMAPDb))
47 #define VALA_DMAP_DB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VALA_DMAP_DB, ValaDMAPDbClass))
48 #define IS_VALA_DMAP_DB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VALA_DMAP_DB))
49 #define IS_VALA_DMAP_DB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VALA_DMAP_DB))
50 #define VALA_DMAP_DB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VALA_DMAP_DB, ValaDMAPDbClass))
51 
52 typedef struct _ValaDMAPDb ValaDMAPDb;
53 typedef struct _ValaDMAPDbClass ValaDMAPDbClass;
54 
55 #define TYPE_VALA_DPAP_RECORD_FACTORY (vala_dpap_record_factory_get_type ())
56 #define VALA_DPAP_RECORD_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VALA_DPAP_RECORD_FACTORY, ValaDPAPRecordFactory))
57 #define VALA_DPAP_RECORD_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VALA_DPAP_RECORD_FACTORY, ValaDPAPRecordFactoryClass))
58 #define IS_VALA_DPAP_RECORD_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VALA_DPAP_RECORD_FACTORY))
59 #define IS_VALA_DPAP_RECORD_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VALA_DPAP_RECORD_FACTORY))
60 #define VALA_DPAP_RECORD_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VALA_DPAP_RECORD_FACTORY, ValaDPAPRecordFactoryClass))
61 
62 typedef struct _ValaDPAPRecordFactory ValaDPAPRecordFactory;
63 typedef struct _ValaDPAPRecordFactoryClass ValaDPAPRecordFactoryClass;
64 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
65 
66 #define TYPE_VALA_DPAP_RECORD (vala_dpap_record_get_type ())
67 #define VALA_DPAP_RECORD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VALA_DPAP_RECORD, ValaDPAPRecord))
68 #define VALA_DPAP_RECORD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VALA_DPAP_RECORD, ValaDPAPRecordClass))
69 #define IS_VALA_DPAP_RECORD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VALA_DPAP_RECORD))
70 #define IS_VALA_DPAP_RECORD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VALA_DPAP_RECORD))
71 #define VALA_DPAP_RECORD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VALA_DPAP_RECORD, ValaDPAPRecordClass))
72 
73 typedef struct _ValaDPAPRecord ValaDPAPRecord;
74 typedef struct _ValaDPAPRecordClass ValaDPAPRecordClass;
75 #define _dpap_copy_unref0(var) ((var == NULL) ? NULL : (var = (dpap_copy_unref (var), NULL)))
76 typedef struct _ParamSpecDPAPCopy ParamSpecDPAPCopy;
77 #define _g_main_loop_unref0(var) ((var == NULL) ? NULL : (var = (g_main_loop_unref (var), NULL)))
78 
79 struct _DPAPCopy {
80 	GTypeInstance parent_instance;
81 	volatile int ref_count;
82 	DPAPCopyPrivate * priv;
83 };
84 
85 struct _DPAPCopyClass {
86 	GTypeClass parent_class;
87 	void (*finalize) (DPAPCopy *self);
88 };
89 
90 struct _DPAPCopyPrivate {
91 	DMAPMdnsBrowser* browser;
92 	DMAPConnection* connection;
93 	ValaDMAPDb* db;
94 	ValaDPAPRecordFactory* factory;
95 };
96 
97 struct _ParamSpecDPAPCopy {
98 	GParamSpec parent_instance;
99 };
100 
101 static gint DPAPCopy_private_offset;
102 static gpointer dpap_copy_parent_class = NULL;
103 
104 gpointer dpap_copy_ref (gpointer instance);
105 void dpap_copy_unref (gpointer instance);
106 GParamSpec* param_spec_dpap_copy (const gchar* name,
107                                   const gchar* nick,
108                                   const gchar* blurb,
109                                   GType object_type,
110                                   GParamFlags flags);
111 void value_set_dpap_copy (GValue* value,
112                           gpointer v_object);
113 void value_take_dpap_copy (GValue* value,
114                            gpointer v_object);
115 gpointer value_get_dpap_copy (const GValue* value);
116 GType dpap_copy_get_type (void) G_GNUC_CONST;
117 G_DEFINE_AUTOPTR_CLEANUP_FUNC (DPAPCopy, dpap_copy_unref)
118 GType vala_dmap_db_get_type (void) G_GNUC_CONST;
119 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaDMAPDb, g_object_unref)
120 GType vala_dpap_record_factory_get_type (void) G_GNUC_CONST;
121 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaDPAPRecordFactory, g_object_unref)
122 static gboolean dpap_copy_connected_cb (DPAPCopy* self,
123                                  DMAPConnection* connection,
124                                  gboolean _result_,
125                                  const gchar* reason);
126 static void __lambda4_ (DPAPCopy* self,
127                  gconstpointer k,
128                  gconstpointer v);
129 GType vala_dpap_record_get_type (void) G_GNUC_CONST;
130 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ValaDPAPRecord, g_object_unref)
131 const gchar* vala_dpap_record_get_location (ValaDPAPRecord* self);
132 static void ___lambda4__gh_func (gconstpointer key,
133                           gconstpointer value,
134                           gpointer self);
135 static void dpap_copy_service_added_cb (DPAPCopy* self,
136                                  DMAPMdnsBrowserService* service);
137 static gboolean _dpap_copy_connected_cb_dmap_connection_callback (DMAPConnection* connection,
138                                                            gboolean _result_,
139                                                            const gchar* reason,
140                                                            gpointer self);
141 DPAPCopy* dpap_copy_new (GError** error);
142 DPAPCopy* dpap_copy_construct (GType object_type,
143                                GError** error);
144 ValaDMAPDb* vala_dmap_db_new (void);
145 ValaDMAPDb* vala_dmap_db_construct (GType object_type);
146 ValaDPAPRecordFactory* vala_dpap_record_factory_new (void);
147 ValaDPAPRecordFactory* vala_dpap_record_factory_construct (GType object_type);
148 static void _dpap_copy_service_added_cb_dmap_mdns_browser_service_added (DMAPMdnsBrowser* _sender,
149                                                                   void* service,
150                                                                   gpointer self);
151 static void dpap_copy_finalize (DPAPCopy * obj);
152 static GType dpap_copy_get_type_once (void);
153 void debug_printf (const gchar* log_domain,
154                    GLogLevelFlags log_level,
155                    const gchar* message);
156 void debug_null (const gchar* log_domain,
157                  GLogLevelFlags log_level,
158                  const gchar* message);
159 gint _vala_main (gchar** args,
160                  gint args_length1);
161 static void _debug_null_glog_func (const gchar* log_domain,
162                             GLogLevelFlags log_levels,
163                             const gchar* message,
164                             gpointer self);
165 
166 static inline gpointer
dpap_copy_get_instance_private(DPAPCopy * self)167 dpap_copy_get_instance_private (DPAPCopy* self)
168 {
169 	return G_STRUCT_MEMBER_P (self, DPAPCopy_private_offset);
170 }
171 
172 static void
__lambda4_(DPAPCopy * self,gconstpointer k,gconstpointer v)173 __lambda4_ (DPAPCopy* self,
174             gconstpointer k,
175             gconstpointer v)
176 {
177 	FILE* _tmp0_;
178 	const gchar* _tmp1_;
179 	const gchar* _tmp2_;
180 	_tmp0_ = stdout;
181 	_tmp1_ = vala_dpap_record_get_location (G_TYPE_CHECK_INSTANCE_CAST (v, TYPE_VALA_DPAP_RECORD, ValaDPAPRecord));
182 	_tmp2_ = _tmp1_;
183 	fprintf (_tmp0_, "%s\n", _tmp2_);
184 }
185 
186 static void
___lambda4__gh_func(gconstpointer key,gconstpointer value,gpointer self)187 ___lambda4__gh_func (gconstpointer key,
188                      gconstpointer value,
189                      gpointer self)
190 {
191 	__lambda4_ ((DPAPCopy*) self, key, value);
192 }
193 
194 static gboolean
dpap_copy_connected_cb(DPAPCopy * self,DMAPConnection * connection,gboolean _result_,const gchar * reason)195 dpap_copy_connected_cb (DPAPCopy* self,
196                         DMAPConnection* connection,
197                         gboolean _result_,
198                         const gchar* reason)
199 {
200 	ValaDMAPDb* _tmp0_;
201 	ValaDMAPDb* _tmp1_;
202 	gboolean result = FALSE;
203 	g_return_val_if_fail (self != NULL, FALSE);
204 	g_return_val_if_fail (connection != NULL, FALSE);
205 	_tmp0_ = self->priv->db;
206 	g_debug ("%" G_GINT64_FORMAT " entries\n", dmap_db_count ((DMAPDb*) _tmp0_));
207 	_tmp1_ = self->priv->db;
208 	dmap_db_foreach ((DMAPDb*) _tmp1_, ___lambda4__gh_func, self);
209 	result = TRUE;
210 	return result;
211 }
212 
213 static gboolean
_dpap_copy_connected_cb_dmap_connection_callback(DMAPConnection * connection,gboolean _result_,const gchar * reason,gpointer self)214 _dpap_copy_connected_cb_dmap_connection_callback (DMAPConnection* connection,
215                                                   gboolean _result_,
216                                                   const gchar* reason,
217                                                   gpointer self)
218 {
219 	gboolean result;
220 	result = dpap_copy_connected_cb ((DPAPCopy*) self, connection, _result_, reason);
221 	return result;
222 }
223 
224 static void
dpap_copy_service_added_cb(DPAPCopy * self,DMAPMdnsBrowserService * service)225 dpap_copy_service_added_cb (DPAPCopy* self,
226                             DMAPMdnsBrowserService* service)
227 {
228 	const gchar* _tmp0_;
229 	const gchar* _tmp1_;
230 	ValaDMAPDb* _tmp2_;
231 	ValaDPAPRecordFactory* _tmp3_;
232 	DPAPConnection* _tmp4_;
233 	DMAPConnection* _tmp5_;
234 	g_return_if_fail (self != NULL);
235 	_tmp0_ = service->service_name;
236 	_tmp1_ = service->host;
237 	_tmp2_ = self->priv->db;
238 	_tmp3_ = self->priv->factory;
239 	_tmp4_ = dpap_connection_new (_tmp0_, _tmp1_, service->port, (DMAPDb*) _tmp2_, (DMAPRecordFactory*) _tmp3_);
240 	_g_object_unref0 (self->priv->connection);
241 	self->priv->connection = G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, DMAP_TYPE_CONNECTION, DMAPConnection);
242 	_tmp5_ = self->priv->connection;
243 	dmap_connection_connect (_tmp5_, _dpap_copy_connected_cb_dmap_connection_callback, self);
244 }
245 
246 static void
_dpap_copy_service_added_cb_dmap_mdns_browser_service_added(DMAPMdnsBrowser * _sender,void * service,gpointer self)247 _dpap_copy_service_added_cb_dmap_mdns_browser_service_added (DMAPMdnsBrowser* _sender,
248                                                              void* service,
249                                                              gpointer self)
250 {
251 	dpap_copy_service_added_cb ((DPAPCopy*) self, service);
252 }
253 
254 DPAPCopy*
dpap_copy_construct(GType object_type,GError ** error)255 dpap_copy_construct (GType object_type,
256                      GError** error)
257 {
258 	DPAPCopy* self = NULL;
259 	ValaDMAPDb* _tmp0_;
260 	ValaDPAPRecordFactory* _tmp1_;
261 	DMAPMdnsBrowser* _tmp2_;
262 	DMAPMdnsBrowser* _tmp3_;
263 	DMAPMdnsBrowser* _tmp4_;
264 	GError* _inner_error0_ = NULL;
265 	self = (DPAPCopy*) g_type_create_instance (object_type);
266 	_tmp0_ = vala_dmap_db_new ();
267 	_g_object_unref0 (self->priv->db);
268 	self->priv->db = _tmp0_;
269 	_tmp1_ = vala_dpap_record_factory_new ();
270 	_g_object_unref0 (self->priv->factory);
271 	self->priv->factory = _tmp1_;
272 	_tmp2_ = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP);
273 	_g_object_unref0 (self->priv->browser);
274 	self->priv->browser = _tmp2_;
275 	_tmp3_ = self->priv->browser;
276 	g_signal_connect (_tmp3_, "service-added", (GCallback) _dpap_copy_service_added_cb_dmap_mdns_browser_service_added, self);
277 	_tmp4_ = self->priv->browser;
278 	dmap_mdns_browser_start (_tmp4_, &_inner_error0_);
279 	if (G_UNLIKELY (_inner_error0_ != NULL)) {
280 		g_propagate_error (error, _inner_error0_);
281 		_dpap_copy_unref0 (self);
282 		return NULL;
283 	}
284 	return self;
285 }
286 
287 DPAPCopy*
dpap_copy_new(GError ** error)288 dpap_copy_new (GError** error)
289 {
290 	return dpap_copy_construct (TYPE_DPAP_COPY, error);
291 }
292 
293 static void
value_dpap_copy_init(GValue * value)294 value_dpap_copy_init (GValue* value)
295 {
296 	value->data[0].v_pointer = NULL;
297 }
298 
299 static void
value_dpap_copy_free_value(GValue * value)300 value_dpap_copy_free_value (GValue* value)
301 {
302 	if (value->data[0].v_pointer) {
303 		dpap_copy_unref (value->data[0].v_pointer);
304 	}
305 }
306 
307 static void
value_dpap_copy_copy_value(const GValue * src_value,GValue * dest_value)308 value_dpap_copy_copy_value (const GValue* src_value,
309                             GValue* dest_value)
310 {
311 	if (src_value->data[0].v_pointer) {
312 		dest_value->data[0].v_pointer = dpap_copy_ref (src_value->data[0].v_pointer);
313 	} else {
314 		dest_value->data[0].v_pointer = NULL;
315 	}
316 }
317 
318 static gpointer
value_dpap_copy_peek_pointer(const GValue * value)319 value_dpap_copy_peek_pointer (const GValue* value)
320 {
321 	return value->data[0].v_pointer;
322 }
323 
324 static gchar*
value_dpap_copy_collect_value(GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)325 value_dpap_copy_collect_value (GValue* value,
326                                guint n_collect_values,
327                                GTypeCValue* collect_values,
328                                guint collect_flags)
329 {
330 	if (collect_values[0].v_pointer) {
331 		DPAPCopy * object;
332 		object = collect_values[0].v_pointer;
333 		if (object->parent_instance.g_class == NULL) {
334 			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
335 		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
336 			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
337 		}
338 		value->data[0].v_pointer = dpap_copy_ref (object);
339 	} else {
340 		value->data[0].v_pointer = NULL;
341 	}
342 	return NULL;
343 }
344 
345 static gchar*
value_dpap_copy_lcopy_value(const GValue * value,guint n_collect_values,GTypeCValue * collect_values,guint collect_flags)346 value_dpap_copy_lcopy_value (const GValue* value,
347                              guint n_collect_values,
348                              GTypeCValue* collect_values,
349                              guint collect_flags)
350 {
351 	DPAPCopy ** object_p;
352 	object_p = collect_values[0].v_pointer;
353 	if (!object_p) {
354 		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
355 	}
356 	if (!value->data[0].v_pointer) {
357 		*object_p = NULL;
358 	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
359 		*object_p = value->data[0].v_pointer;
360 	} else {
361 		*object_p = dpap_copy_ref (value->data[0].v_pointer);
362 	}
363 	return NULL;
364 }
365 
366 GParamSpec*
param_spec_dpap_copy(const gchar * name,const gchar * nick,const gchar * blurb,GType object_type,GParamFlags flags)367 param_spec_dpap_copy (const gchar* name,
368                       const gchar* nick,
369                       const gchar* blurb,
370                       GType object_type,
371                       GParamFlags flags)
372 {
373 	ParamSpecDPAPCopy* spec;
374 	g_return_val_if_fail (g_type_is_a (object_type, TYPE_DPAP_COPY), NULL);
375 	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
376 	G_PARAM_SPEC (spec)->value_type = object_type;
377 	return G_PARAM_SPEC (spec);
378 }
379 
380 gpointer
value_get_dpap_copy(const GValue * value)381 value_get_dpap_copy (const GValue* value)
382 {
383 	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DPAP_COPY), NULL);
384 	return value->data[0].v_pointer;
385 }
386 
387 void
value_set_dpap_copy(GValue * value,gpointer v_object)388 value_set_dpap_copy (GValue* value,
389                      gpointer v_object)
390 {
391 	DPAPCopy * old;
392 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DPAP_COPY));
393 	old = value->data[0].v_pointer;
394 	if (v_object) {
395 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DPAP_COPY));
396 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
397 		value->data[0].v_pointer = v_object;
398 		dpap_copy_ref (value->data[0].v_pointer);
399 	} else {
400 		value->data[0].v_pointer = NULL;
401 	}
402 	if (old) {
403 		dpap_copy_unref (old);
404 	}
405 }
406 
407 void
value_take_dpap_copy(GValue * value,gpointer v_object)408 value_take_dpap_copy (GValue* value,
409                       gpointer v_object)
410 {
411 	DPAPCopy * old;
412 	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, TYPE_DPAP_COPY));
413 	old = value->data[0].v_pointer;
414 	if (v_object) {
415 		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, TYPE_DPAP_COPY));
416 		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
417 		value->data[0].v_pointer = v_object;
418 	} else {
419 		value->data[0].v_pointer = NULL;
420 	}
421 	if (old) {
422 		dpap_copy_unref (old);
423 	}
424 }
425 
426 static void
dpap_copy_class_init(DPAPCopyClass * klass,gpointer klass_data)427 dpap_copy_class_init (DPAPCopyClass * klass,
428                       gpointer klass_data)
429 {
430 	dpap_copy_parent_class = g_type_class_peek_parent (klass);
431 	((DPAPCopyClass *) klass)->finalize = dpap_copy_finalize;
432 	g_type_class_adjust_private_offset (klass, &DPAPCopy_private_offset);
433 }
434 
435 static void
dpap_copy_instance_init(DPAPCopy * self,gpointer klass)436 dpap_copy_instance_init (DPAPCopy * self,
437                          gpointer klass)
438 {
439 	self->priv = dpap_copy_get_instance_private (self);
440 	self->ref_count = 1;
441 }
442 
443 static void
dpap_copy_finalize(DPAPCopy * obj)444 dpap_copy_finalize (DPAPCopy * obj)
445 {
446 	DPAPCopy * self;
447 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_DPAP_COPY, DPAPCopy);
448 	g_signal_handlers_destroy (self);
449 	_g_object_unref0 (self->priv->browser);
450 	_g_object_unref0 (self->priv->connection);
451 	_g_object_unref0 (self->priv->db);
452 	_g_object_unref0 (self->priv->factory);
453 }
454 
455 static GType
dpap_copy_get_type_once(void)456 dpap_copy_get_type_once (void)
457 {
458 	static const GTypeValueTable g_define_type_value_table = { value_dpap_copy_init, value_dpap_copy_free_value, value_dpap_copy_copy_value, value_dpap_copy_peek_pointer, "p", value_dpap_copy_collect_value, "p", value_dpap_copy_lcopy_value };
459 	static const GTypeInfo g_define_type_info = { sizeof (DPAPCopyClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) dpap_copy_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DPAPCopy), 0, (GInstanceInitFunc) dpap_copy_instance_init, &g_define_type_value_table };
460 	static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
461 	GType dpap_copy_type_id;
462 	dpap_copy_type_id = g_type_register_fundamental (g_type_fundamental_next (), "DPAPCopy", &g_define_type_info, &g_define_type_fundamental_info, 0);
463 	DPAPCopy_private_offset = g_type_add_instance_private (dpap_copy_type_id, sizeof (DPAPCopyPrivate));
464 	return dpap_copy_type_id;
465 }
466 
467 GType
dpap_copy_get_type(void)468 dpap_copy_get_type (void)
469 {
470 	static volatile gsize dpap_copy_type_id__volatile = 0;
471 	if (g_once_init_enter (&dpap_copy_type_id__volatile)) {
472 		GType dpap_copy_type_id;
473 		dpap_copy_type_id = dpap_copy_get_type_once ();
474 		g_once_init_leave (&dpap_copy_type_id__volatile, dpap_copy_type_id);
475 	}
476 	return dpap_copy_type_id__volatile;
477 }
478 
479 gpointer
dpap_copy_ref(gpointer instance)480 dpap_copy_ref (gpointer instance)
481 {
482 	DPAPCopy * self;
483 	self = instance;
484 	g_atomic_int_inc (&self->ref_count);
485 	return instance;
486 }
487 
488 void
dpap_copy_unref(gpointer instance)489 dpap_copy_unref (gpointer instance)
490 {
491 	DPAPCopy * self;
492 	self = instance;
493 	if (g_atomic_int_dec_and_test (&self->ref_count)) {
494 		DPAP_COPY_GET_CLASS (self)->finalize (self);
495 		g_type_free_instance ((GTypeInstance *) self);
496 	}
497 }
498 
499 void
debug_printf(const gchar * log_domain,GLogLevelFlags log_level,const gchar * message)500 debug_printf (const gchar* log_domain,
501               GLogLevelFlags log_level,
502               const gchar* message)
503 {
504 	FILE* _tmp0_;
505 	_tmp0_ = stdout;
506 	fprintf (_tmp0_, "%s\n", message);
507 }
508 
509 void
debug_null(const gchar * log_domain,GLogLevelFlags log_level,const gchar * message)510 debug_null (const gchar* log_domain,
511             GLogLevelFlags log_level,
512             const gchar* message)
513 {
514 }
515 
516 static void
_debug_null_glog_func(const gchar * log_domain,GLogLevelFlags log_levels,const gchar * message,gpointer self)517 _debug_null_glog_func (const gchar* log_domain,
518                        GLogLevelFlags log_levels,
519                        const gchar* message,
520                        gpointer self)
521 {
522 	debug_null (log_domain, log_levels, message);
523 }
524 
525 gint
_vala_main(gchar ** args,gint args_length1)526 _vala_main (gchar** args,
527             gint args_length1)
528 {
529 	GMainLoop* loop = NULL;
530 	GMainLoop* _tmp0_;
531 	DPAPCopy* dmapcopy = NULL;
532 	DPAPCopy* _tmp1_;
533 	GError* _inner_error0_ = NULL;
534 	gint result = 0;
535 	_tmp0_ = g_main_loop_new (NULL, FALSE);
536 	loop = _tmp0_;
537 	g_log_set_handler ("libdmapsharing", G_LOG_LEVEL_DEBUG, _debug_null_glog_func, NULL);
538 	g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, _debug_null_glog_func, NULL);
539 	_tmp1_ = dpap_copy_new (&_inner_error0_);
540 	dmapcopy = _tmp1_;
541 	if (G_UNLIKELY (_inner_error0_ != NULL)) {
542 		gint _tmp2_ = -1;
543 		_g_main_loop_unref0 (loop);
544 		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
545 		g_clear_error (&_inner_error0_);
546 		return _tmp2_;
547 	}
548 	g_main_loop_run (loop);
549 	result = 0;
550 	_dpap_copy_unref0 (dmapcopy);
551 	_g_main_loop_unref0 (loop);
552 	return result;
553 }
554 
555 int
main(int argc,char ** argv)556 main (int argc,
557       char ** argv)
558 {
559 	return _vala_main (argv, argc);
560 }
561 
562