GCC Code Coverage Report


Directory: ./
File: panels/printers/pp-print-device.c
Date: 2024-05-03 09:46:52
Exec Total Coverage
Lines: 0 177 0.0%
Functions: 0 24 0.0%
Branches: 0 57 0.0%

Line Branch Exec Source
1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
2 *
3 * Copyright 2015 Red Hat, Inc,
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, see <http://www.gnu.org/licenses/>.
17 *
18 * Author: Marek Kasik <mkasik@redhat.com>
19 */
20
21 #include "pp-print-device.h"
22
23 struct _PpPrintDevice
24 {
25 GObject parent_instance;
26
27 gchar *device_name;
28 gchar *display_name;
29 gchar *device_original_name;
30 gchar *device_make_and_model;
31 gchar *device_location;
32 gchar *device_info;
33 gchar *device_uri;
34 gchar *device_id;
35 gchar *device_ppd;
36 gchar *host_name;
37 gint host_port;
38 gboolean is_authenticated_server;
39 gint acquisition_method;
40 gboolean is_network_device;
41 };
42
43 G_DEFINE_TYPE (PpPrintDevice, pp_print_device, G_TYPE_OBJECT);
44
45 enum
46 {
47 PROP_0 = 0,
48 PROP_DEVICE_NAME,
49 PROP_DISPLAY_NAME,
50 PROP_DEVICE_ORIGINAL_NAME,
51 PROP_DEVICE_MAKE_AND_MODEL,
52 PROP_DEVICE_LOCATION,
53 PROP_DEVICE_INFO,
54 PROP_DEVICE_URI,
55 PROP_DEVICE_ID,
56 PROP_DEVICE_PPD,
57 PROP_HOST_NAME,
58 PROP_HOST_PORT,
59 PROP_IS_AUTHENTICATED_SERVER,
60 PROP_ACQUISITION_METHOD,
61 PROP_IS_NETWORK_DEVICE
62 };
63
64 static void
65 pp_print_device_finalize (GObject *object)
66 {
67 PpPrintDevice *self = PP_PRINT_DEVICE (object);
68
69 g_clear_pointer (&self->device_name, g_free);
70 g_clear_pointer (&self->display_name, g_free);
71 g_clear_pointer (&self->device_original_name, g_free);
72 g_clear_pointer (&self->device_make_and_model, g_free);
73 g_clear_pointer (&self->device_location, g_free);
74 g_clear_pointer (&self->device_info, g_free);
75 g_clear_pointer (&self->device_uri, g_free);
76 g_clear_pointer (&self->device_id, g_free);
77 g_clear_pointer (&self->device_ppd, g_free);
78 g_clear_pointer (&self->host_name, g_free);
79
80 G_OBJECT_CLASS (pp_print_device_parent_class)->finalize (object);
81 }
82
83 static void
84 pp_print_device_get_property (GObject *object,
85 guint prop_id,
86 GValue *value,
87 GParamSpec *param_spec)
88 {
89 PpPrintDevice *self = PP_PRINT_DEVICE (object);
90
91 switch (prop_id)
92 {
93 case PROP_DEVICE_NAME:
94 g_value_set_string (value, self->device_name);
95 break;
96 case PROP_DISPLAY_NAME:
97 g_value_set_string (value, self->display_name);
98 break;
99 case PROP_DEVICE_ORIGINAL_NAME:
100 g_value_set_string (value, self->device_original_name);
101 break;
102 case PROP_DEVICE_MAKE_AND_MODEL:
103 g_value_set_string (value, self->device_make_and_model);
104 break;
105 case PROP_DEVICE_LOCATION:
106 g_value_set_string (value, self->device_location);
107 break;
108 case PROP_DEVICE_INFO:
109 g_value_set_string (value, self->device_info);
110 break;
111 case PROP_DEVICE_URI:
112 g_value_set_string (value, self->device_uri);
113 break;
114 case PROP_DEVICE_ID:
115 g_value_set_string (value, self->device_id);
116 break;
117 case PROP_DEVICE_PPD:
118 g_value_set_string (value, self->device_ppd);
119 break;
120 case PROP_HOST_NAME:
121 g_value_set_string (value, self->host_name);
122 break;
123 case PROP_HOST_PORT:
124 g_value_set_int (value, self->host_port);
125 break;
126 case PROP_IS_AUTHENTICATED_SERVER:
127 g_value_set_boolean (value, self->is_authenticated_server);
128 break;
129 case PROP_ACQUISITION_METHOD:
130 g_value_set_int (value, self->acquisition_method);
131 break;
132 case PROP_IS_NETWORK_DEVICE:
133 g_value_set_boolean (value, self->is_network_device);
134 break;
135 default:
136 G_OBJECT_WARN_INVALID_PROPERTY_ID (object,
137 prop_id,
138 param_spec);
139 break;
140 }
141 }
142
143 static void
144 pp_print_device_set_property (GObject *object,
145 guint prop_id,
146 const GValue *value,
147 GParamSpec *param_spec)
148 {
149 PpPrintDevice *self = PP_PRINT_DEVICE (object);
150
151 switch (prop_id)
152 {
153 case PROP_DEVICE_NAME:
154 g_free (self->device_name);
155 self->device_name = g_value_dup_string (value);
156 break;
157 case PROP_DISPLAY_NAME:
158 g_free (self->display_name);
159 self->display_name = g_value_dup_string (value);
160 break;
161 case PROP_DEVICE_ORIGINAL_NAME:
162 g_free (self->device_original_name);
163 self->device_original_name = g_value_dup_string (value);
164 break;
165 case PROP_DEVICE_MAKE_AND_MODEL:
166 g_free (self->device_make_and_model);
167 self->device_make_and_model = g_value_dup_string (value);
168 break;
169 case PROP_DEVICE_LOCATION:
170 g_free (self->device_location);
171 self->device_location = g_value_dup_string (value);
172 break;
173 case PROP_DEVICE_INFO:
174 g_free (self->device_info);
175 self->device_info = g_value_dup_string (value);
176 break;
177 case PROP_DEVICE_URI:
178 g_free (self->device_uri);
179 self->device_uri = g_value_dup_string (value);
180 break;
181 case PROP_DEVICE_ID:
182 g_free (self->device_id);
183 self->device_id = g_value_dup_string (value);
184 break;
185 case PROP_DEVICE_PPD:
186 g_free (self->device_ppd);
187 self->device_ppd = g_value_dup_string (value);
188 break;
189 case PROP_HOST_NAME:
190 g_free (self->host_name);
191 self->host_name = g_value_dup_string (value);
192 break;
193 case PROP_HOST_PORT:
194 self->host_port = g_value_get_int (value);
195 break;
196 case PROP_IS_AUTHENTICATED_SERVER:
197 self->is_authenticated_server = g_value_get_boolean (value);
198 break;
199 case PROP_ACQUISITION_METHOD:
200 self->acquisition_method = g_value_get_int (value);
201 break;
202 case PROP_IS_NETWORK_DEVICE:
203 self->is_network_device = g_value_get_boolean (value);
204 break;
205 default:
206 G_OBJECT_WARN_INVALID_PROPERTY_ID (object,
207 prop_id,
208 param_spec);
209 break;
210 }
211 }
212
213 static void
214 pp_print_device_class_init (PpPrintDeviceClass *klass)
215 {
216 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
217
218 gobject_class->set_property = pp_print_device_set_property;
219 gobject_class->get_property = pp_print_device_get_property;
220
221 gobject_class->finalize = pp_print_device_finalize;
222
223 g_object_class_install_property (gobject_class,
224 PROP_DEVICE_NAME,
225 g_param_spec_string ("device-name",
226 "Device name",
227 "Name of the device",
228 NULL,
229 G_PARAM_READWRITE));
230
231 g_object_class_install_property (gobject_class,
232 PROP_DISPLAY_NAME,
233 g_param_spec_string ("display-name",
234 "Display name",
235 "Name of the device formatted for users",
236 NULL,
237 G_PARAM_READWRITE));
238
239 g_object_class_install_property (gobject_class,
240 PROP_DEVICE_ORIGINAL_NAME,
241 g_param_spec_string ("device-original-name",
242 "Device original name",
243 "Original name of the device",
244 NULL,
245 G_PARAM_READWRITE));
246
247 g_object_class_install_property (gobject_class,
248 PROP_DEVICE_MAKE_AND_MODEL,
249 g_param_spec_string ("device-make-and-model",
250 "Device make and model",
251 "Make and model of the device",
252 NULL,
253 G_PARAM_READWRITE));
254
255 g_object_class_install_property (gobject_class,
256 PROP_DEVICE_LOCATION,
257 g_param_spec_string ("device-location",
258 "Device location",
259 "Locaton of the device",
260 NULL,
261 G_PARAM_READWRITE));
262
263 g_object_class_install_property (gobject_class,
264 PROP_DEVICE_INFO,
265 g_param_spec_string ("device-info",
266 "Device info",
267 "Information about the device",
268 NULL,
269 G_PARAM_READWRITE));
270
271 g_object_class_install_property (gobject_class,
272 PROP_DEVICE_URI,
273 g_param_spec_string ("device-uri",
274 "Device URI",
275 "URI of the device",
276 NULL,
277 G_PARAM_READWRITE));
278
279 g_object_class_install_property (gobject_class,
280 PROP_DEVICE_ID,
281 g_param_spec_string ("device-id",
282 "DeviceID",
283 "DeviceID of the device",
284 NULL,
285 G_PARAM_READWRITE));
286
287 g_object_class_install_property (gobject_class,
288 PROP_DEVICE_PPD,
289 g_param_spec_string ("device-ppd",
290 "Device PPD",
291 "Name of the PPD of the device",
292 NULL,
293 G_PARAM_READWRITE));
294
295 g_object_class_install_property (gobject_class,
296 PROP_HOST_NAME,
297 g_param_spec_string ("host-name",
298 "Host name",
299 "Hostname of the device",
300 NULL,
301 G_PARAM_READWRITE));
302
303 g_object_class_install_property (gobject_class,
304 PROP_HOST_PORT,
305 g_param_spec_int ("host-port",
306 "Host port",
307 "The port of the host",
308 0, G_MAXINT32, 0,
309 G_PARAM_READWRITE));
310
311 g_object_class_install_property (gobject_class,
312 PROP_IS_AUTHENTICATED_SERVER,
313 g_param_spec_boolean ("is-authenticated-server",
314 "Is authenticated server",
315 "Whether the device is a server which needs authentication",
316 FALSE,
317 G_PARAM_READWRITE));
318
319 g_object_class_install_property (gobject_class,
320 PROP_ACQUISITION_METHOD,
321 g_param_spec_int ("acquisition-method",
322 "Acquisition method",
323 "Acquisition method of the device",
324 0, G_MAXINT32, 0,
325 G_PARAM_READWRITE));
326
327 g_object_class_install_property (gobject_class,
328 PROP_IS_NETWORK_DEVICE,
329 g_param_spec_boolean ("is-network-device",
330 "Network device",
331 "Whether the device is a network device",
332 FALSE,
333 G_PARAM_READWRITE));
334 }
335
336 static void
337 pp_print_device_init (PpPrintDevice *self)
338 {
339 }
340
341 PpPrintDevice *
342 pp_print_device_new ()
343 {
344 return g_object_new (PP_TYPE_PRINT_DEVICE, NULL);
345 }
346
347 gchar *
348 pp_print_device_get_device_name (PpPrintDevice *self)
349 {
350 return self->device_name;
351 }
352
353 gchar *
354 pp_print_device_get_display_name (PpPrintDevice *self)
355 {
356 return self->display_name;
357 }
358
359 gchar *
360 pp_print_device_get_device_original_name (PpPrintDevice *self)
361 {
362 return self->device_original_name;
363 }
364
365 gchar *
366 pp_print_device_get_device_make_and_model (PpPrintDevice *self)
367 {
368 return self->device_make_and_model;
369 }
370
371 gchar *
372 pp_print_device_get_device_location (PpPrintDevice *self)
373 {
374 return self->device_location;
375 }
376
377 gchar *
378 pp_print_device_get_device_info (PpPrintDevice *self)
379 {
380 return self->device_info;
381 }
382
383 gchar *
384 pp_print_device_get_device_uri (PpPrintDevice *self)
385 {
386 return self->device_uri;
387 }
388
389 gchar *
390 pp_print_device_get_device_id (PpPrintDevice *self)
391 {
392 return self->device_id;
393 }
394
395 gchar *
396 pp_print_device_get_device_ppd (PpPrintDevice *self)
397 {
398 return self->device_ppd;
399 }
400
401 gchar *
402 pp_print_device_get_host_name (PpPrintDevice *self)
403 {
404 return self->host_name;
405 }
406
407 gint
408 pp_print_device_get_host_port (PpPrintDevice *self)
409 {
410 return self->host_port;
411 }
412
413 gboolean
414 pp_print_device_is_authenticated_server (PpPrintDevice *self)
415 {
416 return self->is_authenticated_server;
417 }
418
419 gint
420 pp_print_device_get_acquisition_method (PpPrintDevice *self)
421 {
422 return self->acquisition_method;
423 }
424
425 gboolean
426 pp_print_device_is_network_device (PpPrintDevice *self)
427 {
428 return self->is_network_device;
429 }
430
431 PpPrintDevice *
432 pp_print_device_copy (PpPrintDevice *self)
433 {
434 return g_object_new (PP_TYPE_PRINT_DEVICE,
435 "device-name", pp_print_device_get_device_name (self),
436 "display-name", pp_print_device_get_display_name (self),
437 "device-original-name", pp_print_device_get_device_original_name (self),
438 "device-make-and-model", pp_print_device_get_device_make_and_model (self),
439 "device-location", pp_print_device_get_device_location (self),
440 "device-info", pp_print_device_get_device_info (self),
441 "device-uri", pp_print_device_get_device_uri (self),
442 "device-id", pp_print_device_get_device_id (self),
443 "device-ppd", pp_print_device_get_device_ppd (self),
444 "host-name", pp_print_device_get_host_name (self),
445 "host-port", pp_print_device_get_host_port (self),
446 "is-authenticated-server", pp_print_device_is_authenticated_server (self),
447 "acquisition-method", pp_print_device_get_acquisition_method (self),
448 "is-network-device", pp_print_device_is_network_device (self),
449 NULL);
450 }
451