Coverage Report

Created: 2024-12-17 06:44

/usr/include/glib-2.0/gobject/gobject.h
Line
Count
Source (jump to first uncovered line)
1
/* GObject - GLib Type, Object, Parameter and Signal Library
2
 * Copyright (C) 1998-1999, 2000-2001 Tim Janik and Red Hat, Inc.
3
 *
4
 * This library is free software; you can redistribute it and/or
5
 * modify it under the terms of the GNU Lesser General Public
6
 * License as published by the Free Software Foundation; either
7
 * version 2.1 of the License, or (at your option) any later version.
8
 *
9
 * This library is distributed in the hope that it will be useful,
10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12
 * Lesser General Public License for more details.
13
 *
14
 * You should have received a copy of the GNU Lesser General
15
 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
16
 */
17
#ifndef __G_OBJECT_H__
18
#define __G_OBJECT_H__
19
20
#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
21
#error "Only <glib-object.h> can be included directly."
22
#endif
23
24
#include        <gobject/gtype.h>
25
#include        <gobject/gvalue.h>
26
#include        <gobject/gparam.h>
27
#include        <gobject/gclosure.h>
28
#include        <gobject/gsignal.h>
29
#include        <gobject/gboxed.h>
30
31
G_BEGIN_DECLS
32
33
/* --- type macros --- */
34
/**
35
 * G_TYPE_IS_OBJECT:
36
 * @type: Type id to check
37
 * 
38
 * Check if the passed in type id is a %G_TYPE_OBJECT or derived from it.
39
 * 
40
 * Returns: %FALSE or %TRUE, indicating whether @type is a %G_TYPE_OBJECT.
41
 */
42
#define G_TYPE_IS_OBJECT(type)      (G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
43
/**
44
 * G_OBJECT:
45
 * @object: Object which is subject to casting.
46
 * 
47
 * Casts a #GObject or derived pointer into a (GObject*) pointer.
48
 * Depending on the current debugging level, this function may invoke
49
 * certain runtime checks to identify invalid casts.
50
 */
51
0
#define G_OBJECT(object)            (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
52
/**
53
 * G_OBJECT_CLASS:
54
 * @class: a valid #GObjectClass
55
 * 
56
 * Casts a derived #GObjectClass structure into a #GObjectClass structure.
57
 */
58
0
#define G_OBJECT_CLASS(class)       (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
59
/**
60
 * G_IS_OBJECT:
61
 * @object: Instance to check for being a %G_TYPE_OBJECT.
62
 * 
63
 * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_OBJECT.
64
 */
65
#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_42
66
#define G_IS_OBJECT(object)         (G_TYPE_CHECK_INSTANCE_FUNDAMENTAL_TYPE ((object), G_TYPE_OBJECT))
67
#else
68
#define G_IS_OBJECT(object)         (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
69
#endif
70
/**
71
 * G_IS_OBJECT_CLASS:
72
 * @class: a #GObjectClass
73
 * 
74
 * Checks whether @class "is a" valid #GObjectClass structure of type
75
 * %G_TYPE_OBJECT or derived.
76
 */
77
#define G_IS_OBJECT_CLASS(class)    (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
78
/**
79
 * G_OBJECT_GET_CLASS:
80
 * @object: a #GObject instance.
81
 * 
82
 * Get the class structure associated to a #GObject instance.
83
 *
84
 * Returns: pointer to object class structure.
85
 */
86
0
#define G_OBJECT_GET_CLASS(object)  (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
87
/**
88
 * G_OBJECT_TYPE:
89
 * @object: Object to return the type id for.
90
 * 
91
 * Get the type id of an object.
92
 * 
93
 * Returns: Type id of @object.
94
 */
95
#define G_OBJECT_TYPE(object)       (G_TYPE_FROM_INSTANCE (object))
96
/**
97
 * G_OBJECT_TYPE_NAME:
98
 * @object: Object to return the type name for.
99
 * 
100
 * Get the name of an object's type.
101
 * 
102
 * Returns: Type name of @object. The string is owned by the type system and 
103
 *  should not be freed.
104
 */
105
#define G_OBJECT_TYPE_NAME(object)  (g_type_name (G_OBJECT_TYPE (object)))
106
/**
107
 * G_OBJECT_CLASS_TYPE:
108
 * @class: a valid #GObjectClass
109
 * 
110
 * Get the type id of a class structure.
111
 * 
112
 * Returns: Type id of @class.
113
 */
114
#define G_OBJECT_CLASS_TYPE(class)  (G_TYPE_FROM_CLASS (class))
115
/**
116
 * G_OBJECT_CLASS_NAME:
117
 * @class: a valid #GObjectClass
118
 * 
119
 * Return the name of a class structure's type.
120
 * 
121
 * Returns: Type name of @class. The string is owned by the type system and 
122
 *  should not be freed.
123
 */
124
#define G_OBJECT_CLASS_NAME(class)  (g_type_name (G_OBJECT_CLASS_TYPE (class)))
125
/**
126
 * G_VALUE_HOLDS_OBJECT:
127
 * @value: a valid #GValue structure
128
 * 
129
 * Checks whether the given #GValue can hold values derived from type %G_TYPE_OBJECT.
130
 * 
131
 * Returns: %TRUE on success.
132
 */
133
#define G_VALUE_HOLDS_OBJECT(value) (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_OBJECT))
134
135
/* --- type macros --- */
136
/**
137
 * G_TYPE_INITIALLY_UNOWNED:
138
 * 
139
 * The type for #GInitiallyUnowned.
140
 */
141
#define G_TYPE_INITIALLY_UNOWNED        (g_initially_unowned_get_type())
142
/**
143
 * G_INITIALLY_UNOWNED:
144
 * @object: Object which is subject to casting.
145
 * 
146
 * Casts a #GInitiallyUnowned or derived pointer into a (GInitiallyUnowned*) 
147
 * pointer. Depending on the current debugging level, this function may invoke
148
 * certain runtime checks to identify invalid casts.
149
 */
150
#define G_INITIALLY_UNOWNED(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnowned))
151
/**
152
 * G_INITIALLY_UNOWNED_CLASS:
153
 * @class: a valid #GInitiallyUnownedClass
154
 * 
155
 * Casts a derived #GInitiallyUnownedClass structure into a
156
 * #GInitiallyUnownedClass structure.
157
 */
158
#define G_INITIALLY_UNOWNED_CLASS(class)      (G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnownedClass))
159
/**
160
 * G_IS_INITIALLY_UNOWNED:
161
 * @object: Instance to check for being a %G_TYPE_INITIALLY_UNOWNED.
162
 * 
163
 * Checks whether a valid #GTypeInstance pointer is of type %G_TYPE_INITIALLY_UNOWNED.
164
 */
165
#define G_IS_INITIALLY_UNOWNED(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_INITIALLY_UNOWNED))
166
/**
167
 * G_IS_INITIALLY_UNOWNED_CLASS:
168
 * @class: a #GInitiallyUnownedClass
169
 * 
170
 * Checks whether @class "is a" valid #GInitiallyUnownedClass structure of type
171
 * %G_TYPE_INITIALLY_UNOWNED or derived.
172
 */
173
#define G_IS_INITIALLY_UNOWNED_CLASS(class)   (G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_INITIALLY_UNOWNED))
174
/**
175
 * G_INITIALLY_UNOWNED_GET_CLASS:
176
 * @object: a #GInitiallyUnowned instance.
177
 * 
178
 * Get the class structure associated to a #GInitiallyUnowned instance.
179
 *
180
 * Returns: pointer to object class structure.
181
 */
182
#define G_INITIALLY_UNOWNED_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_INITIALLY_UNOWNED, GInitiallyUnownedClass))
183
/* GInitiallyUnowned ia a GObject with initially floating reference count */
184
185
186
/* --- typedefs & structures --- */
187
typedef struct _GObject                  GObject;
188
typedef struct _GObjectClass             GObjectClass;
189
typedef struct _GObject                  GInitiallyUnowned;
190
typedef struct _GObjectClass             GInitiallyUnownedClass;
191
typedef struct _GObjectConstructParam    GObjectConstructParam;
192
/**
193
 * GObjectGetPropertyFunc:
194
 * @object: a #GObject
195
 * @property_id: the numeric id under which the property was registered with
196
 *  g_object_class_install_property().
197
 * @value: a #GValue to return the property value in
198
 * @pspec: the #GParamSpec describing the property
199
 * 
200
 * The type of the @get_property function of #GObjectClass. 
201
 */
202
typedef void (*GObjectGetPropertyFunc)  (GObject      *object,
203
                                         guint         property_id,
204
                                         GValue       *value,
205
                                         GParamSpec   *pspec);
206
/**
207
 * GObjectSetPropertyFunc:
208
 * @object: a #GObject
209
 * @property_id: the numeric id under which the property was registered with
210
 *  g_object_class_install_property().
211
 * @value: the new value for the property
212
 * @pspec: the #GParamSpec describing the property
213
 * 
214
 * The type of the @set_property function of #GObjectClass. 
215
 */
216
typedef void (*GObjectSetPropertyFunc)  (GObject      *object,
217
                                         guint         property_id,
218
                                         const GValue *value,
219
                                         GParamSpec   *pspec);
220
/**
221
 * GObjectFinalizeFunc:
222
 * @object: the #GObject being finalized
223
 * 
224
 * The type of the @finalize function of #GObjectClass.
225
 */
226
typedef void (*GObjectFinalizeFunc)     (GObject      *object);
227
/**
228
 * GWeakNotify:
229
 * @data: data that was provided when the weak reference was established
230
 * @where_the_object_was: the object being finalized
231
 * 
232
 * A #GWeakNotify function can be added to an object as a callback that gets
233
 * triggered when the object is finalized. Since the object is already being
234
 * finalized when the #GWeakNotify is called, there's not much you could do 
235
 * with the object, apart from e.g. using its address as hash-index or the like. 
236
 */
237
typedef void (*GWeakNotify)   (gpointer      data,
238
           GObject      *where_the_object_was);
239
/**
240
 * GObject:
241
 * 
242
 * All the fields in the GObject structure are private 
243
 * to the #GObject implementation and should never be accessed directly.
244
 */
245
struct  _GObject
246
{
247
  GTypeInstance  g_type_instance;
248
  
249
  /*< private >*/
250
  volatile guint ref_count;
251
  GData         *qdata;
252
};
253
/**
254
 * GObjectClass:
255
 * @g_type_class: the parent class
256
 * @constructor: the @constructor function is called by g_object_new () to 
257
 *  complete the object initialization after all the construction properties are
258
 *  set. The first thing a @constructor implementation must do is chain up to the
259
 *  @constructor of the parent class. Overriding @constructor should be rarely 
260
 *  needed, e.g. to handle construct properties, or to implement singletons.
261
 * @set_property: the generic setter for all properties of this type. Should be
262
 *  overridden for every type with properties. If implementations of
263
 *  @set_property don't emit property change notification explicitly, this will
264
 *  be done implicitly by the type system. However, if the notify signal is
265
 *  emitted explicitly, the type system will not emit it a second time.
266
 * @get_property: the generic getter for all properties of this type. Should be
267
 *  overridden for every type with properties.
268
 * @dispose: the @dispose function is supposed to drop all references to other 
269
 *  objects, but keep the instance otherwise intact, so that client method 
270
 *  invocations still work. It may be run multiple times (due to reference 
271
 *  loops). Before returning, @dispose should chain up to the @dispose method 
272
 *  of the parent class.
273
 * @finalize: instance finalization function, should finish the finalization of 
274
 *  the instance begun in @dispose and chain up to the @finalize method of the 
275
 *  parent class.
276
 * @dispatch_properties_changed: emits property change notification for a bunch
277
 *  of properties. Overriding @dispatch_properties_changed should be rarely 
278
 *  needed.
279
 * @notify: the class closure for the notify signal
280
 * @constructed: the @constructed function is called by g_object_new() as the
281
 *  final step of the object creation process.  At the point of the call, all
282
 *  construction properties have been set on the object.  The purpose of this
283
 *  call is to allow for object initialisation steps that can only be performed
284
 *  after construction properties have been set.  @constructed implementors
285
 *  should chain up to the @constructed call of their parent class to allow it
286
 *  to complete its initialisation.
287
 * 
288
 * The class structure for the GObject type.
289
 * 
290
 * |[<!-- language="C" -->
291
 * // Example of implementing a singleton using a constructor.
292
 * static MySingleton *the_singleton = NULL;
293
 * 
294
 * static GObject*
295
 * my_singleton_constructor (GType                  type,
296
 *                           guint                  n_construct_params,
297
 *                           GObjectConstructParam *construct_params)
298
 * {
299
 *   GObject *object;
300
 *   
301
 *   if (!the_singleton)
302
 *     {
303
 *       object = G_OBJECT_CLASS (parent_class)->constructor (type,
304
 *                                                            n_construct_params,
305
 *                                                            construct_params);
306
 *       the_singleton = MY_SINGLETON (object);
307
 *     }
308
 *   else
309
 *     object = g_object_ref (G_OBJECT (the_singleton));
310
 * 
311
 *   return object;
312
 * }
313
 * ]|
314
 */
315
struct  _GObjectClass
316
{
317
  GTypeClass   g_type_class;
318
319
  /*< private >*/
320
  GSList      *construct_properties;
321
322
  /*< public >*/
323
  /* seldom overidden */
324
  GObject*   (*constructor)     (GType                  type,
325
                                 guint                  n_construct_properties,
326
                                 GObjectConstructParam *construct_properties);
327
  /* overridable methods */
328
  void       (*set_property)    (GObject        *object,
329
                                         guint           property_id,
330
                                         const GValue   *value,
331
                                         GParamSpec     *pspec);
332
  void       (*get_property)    (GObject        *object,
333
                                         guint           property_id,
334
                                         GValue         *value,
335
                                         GParamSpec     *pspec);
336
  void       (*dispose)     (GObject        *object);
337
  void       (*finalize)    (GObject        *object);
338
  /* seldom overidden */
339
  void       (*dispatch_properties_changed) (GObject      *object,
340
               guint     n_pspecs,
341
               GParamSpec  **pspecs);
342
  /* signals */
343
  void       (*notify)      (GObject  *object,
344
           GParamSpec *pspec);
345
346
  /* called when done constructing */
347
  void       (*constructed)   (GObject  *object);
348
349
  /*< private >*/
350
  gsize   flags;
351
352
  /* padding */
353
  gpointer  pdummy[6];
354
};
355
/**
356
 * GObjectConstructParam:
357
 * @pspec: the #GParamSpec of the construct parameter
358
 * @value: the value to set the parameter to
359
 * 
360
 * The GObjectConstructParam struct is an auxiliary 
361
 * structure used to hand #GParamSpec/#GValue pairs to the @constructor of
362
 * a #GObjectClass.
363
 */
364
struct _GObjectConstructParam
365
{
366
  GParamSpec *pspec;
367
  GValue     *value;
368
};
369
370
/**
371
 * GInitiallyUnowned:
372
 * 
373
 * All the fields in the GInitiallyUnowned structure 
374
 * are private to the #GInitiallyUnowned implementation and should never be 
375
 * accessed directly.
376
 */
377
/**
378
 * GInitiallyUnownedClass:
379
 * 
380
 * The class structure for the GInitiallyUnowned type.
381
 */
382
383
384
/* --- prototypes --- */
385
GLIB_AVAILABLE_IN_ALL
386
GType       g_initially_unowned_get_type      (void);
387
GLIB_AVAILABLE_IN_ALL
388
void        g_object_class_install_property   (GObjectClass   *oclass,
389
                 guint           property_id,
390
                 GParamSpec     *pspec);
391
GLIB_AVAILABLE_IN_ALL
392
GParamSpec* g_object_class_find_property      (GObjectClass   *oclass,
393
                 const gchar    *property_name);
394
GLIB_AVAILABLE_IN_ALL
395
GParamSpec**g_object_class_list_properties    (GObjectClass   *oclass,
396
                 guint        *n_properties);
397
GLIB_AVAILABLE_IN_ALL
398
void        g_object_class_override_property  (GObjectClass   *oclass,
399
                 guint           property_id,
400
                 const gchar    *name);
401
GLIB_AVAILABLE_IN_ALL
402
void        g_object_class_install_properties (GObjectClass   *oclass,
403
                                               guint           n_pspecs,
404
                                               GParamSpec    **pspecs);
405
406
GLIB_AVAILABLE_IN_ALL
407
void        g_object_interface_install_property (gpointer     g_iface,
408
             GParamSpec  *pspec);
409
GLIB_AVAILABLE_IN_ALL
410
GParamSpec* g_object_interface_find_property    (gpointer     g_iface,
411
             const gchar *property_name);
412
GLIB_AVAILABLE_IN_ALL
413
GParamSpec**g_object_interface_list_properties  (gpointer     g_iface,
414
             guint       *n_properties_p);
415
416
GLIB_AVAILABLE_IN_ALL
417
GType       g_object_get_type                 (void) G_GNUC_CONST;
418
GLIB_AVAILABLE_IN_ALL
419
gpointer    g_object_new                      (GType           object_type,
420
                 const gchar    *first_property_name,
421
                 ...);
422
GLIB_AVAILABLE_IN_2_54
423
GObject*    g_object_new_with_properties      (GType           object_type,
424
                                               guint           n_properties,
425
                                               const char     *names[],
426
                                               const GValue    values[]);
427
428
G_GNUC_BEGIN_IGNORE_DEPRECATIONS
429
430
GLIB_DEPRECATED_IN_2_54_FOR(g_object_new_with_properties)
431
gpointer    g_object_newv         (GType           object_type,
432
                 guint         n_parameters,
433
                 GParameter     *parameters);
434
435
G_GNUC_END_IGNORE_DEPRECATIONS
436
437
GLIB_AVAILABLE_IN_ALL
438
GObject*    g_object_new_valist               (GType           object_type,
439
                 const gchar    *first_property_name,
440
                 va_list         var_args);
441
GLIB_AVAILABLE_IN_ALL
442
void      g_object_set                      (gpointer        object,
443
                 const gchar    *first_property_name,
444
                 ...) G_GNUC_NULL_TERMINATED;
445
GLIB_AVAILABLE_IN_ALL
446
void        g_object_get                      (gpointer        object,
447
                 const gchar    *first_property_name,
448
                 ...) G_GNUC_NULL_TERMINATED;
449
GLIB_AVAILABLE_IN_ALL
450
gpointer    g_object_connect                  (gpointer        object,
451
                 const gchar    *signal_spec,
452
                 ...) G_GNUC_NULL_TERMINATED;
453
GLIB_AVAILABLE_IN_ALL
454
void      g_object_disconnect               (gpointer        object,
455
                 const gchar    *signal_spec,
456
                 ...) G_GNUC_NULL_TERMINATED;
457
GLIB_AVAILABLE_IN_2_54
458
void        g_object_setv                     (GObject        *object,
459
                                               guint           n_properties,
460
                                               const gchar    *names[],
461
                                               const GValue    values[]);
462
GLIB_AVAILABLE_IN_ALL
463
void        g_object_set_valist               (GObject        *object,
464
                 const gchar    *first_property_name,
465
                 va_list         var_args);
466
GLIB_AVAILABLE_IN_2_54
467
void        g_object_getv                     (GObject        *object,
468
                                               guint           n_properties,
469
                                               const gchar    *names[],
470
                                               GValue          values[]);
471
GLIB_AVAILABLE_IN_ALL
472
void        g_object_get_valist               (GObject        *object,
473
                 const gchar    *first_property_name,
474
                 va_list         var_args);
475
GLIB_AVAILABLE_IN_ALL
476
void        g_object_set_property             (GObject        *object,
477
                 const gchar    *property_name,
478
                 const GValue   *value);
479
GLIB_AVAILABLE_IN_ALL
480
void        g_object_get_property             (GObject        *object,
481
                 const gchar    *property_name,
482
                 GValue         *value);
483
GLIB_AVAILABLE_IN_ALL
484
void        g_object_freeze_notify            (GObject        *object);
485
GLIB_AVAILABLE_IN_ALL
486
void        g_object_notify                   (GObject        *object,
487
                 const gchar    *property_name);
488
GLIB_AVAILABLE_IN_ALL
489
void        g_object_notify_by_pspec          (GObject        *object,
490
                 GParamSpec     *pspec);
491
GLIB_AVAILABLE_IN_ALL
492
void        g_object_thaw_notify              (GObject        *object);
493
GLIB_AVAILABLE_IN_ALL
494
gboolean    g_object_is_floating            (gpointer        object);
495
GLIB_AVAILABLE_IN_ALL
496
gpointer    g_object_ref_sink               (gpointer        object);
497
GLIB_AVAILABLE_IN_ALL
498
gpointer    g_object_ref                      (gpointer        object);
499
GLIB_AVAILABLE_IN_ALL
500
void        g_object_unref                    (gpointer        object);
501
GLIB_AVAILABLE_IN_ALL
502
void      g_object_weak_ref         (GObject        *object,
503
                 GWeakNotify     notify,
504
                 gpointer        data);
505
GLIB_AVAILABLE_IN_ALL
506
void      g_object_weak_unref         (GObject        *object,
507
                 GWeakNotify     notify,
508
                 gpointer        data);
509
GLIB_AVAILABLE_IN_ALL
510
void        g_object_add_weak_pointer         (GObject        *object, 
511
                                               gpointer       *weak_pointer_location);
512
GLIB_AVAILABLE_IN_ALL
513
void        g_object_remove_weak_pointer      (GObject        *object, 
514
                                               gpointer       *weak_pointer_location);
515
516
#if defined(g_has_typeof) && GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56
517
/* Make reference APIs type safe with macros */
518
#define g_object_ref(Obj)      ((__typeof__(Obj)) (g_object_ref) (Obj))
519
#define g_object_ref_sink(Obj) ((__typeof__(Obj)) (g_object_ref_sink) (Obj))
520
#endif
521
522
/**
523
 * GToggleNotify:
524
 * @data: Callback data passed to g_object_add_toggle_ref()
525
 * @object: The object on which g_object_add_toggle_ref() was called.
526
 * @is_last_ref: %TRUE if the toggle reference is now the
527
 *  last reference to the object. %FALSE if the toggle
528
 *  reference was the last reference and there are now other
529
 *  references.
530
 * 
531
 * A callback function used for notification when the state
532
 * of a toggle reference changes. See g_object_add_toggle_ref().
533
 */
534
typedef void (*GToggleNotify) (gpointer      data,
535
             GObject      *object,
536
             gboolean      is_last_ref);
537
538
GLIB_AVAILABLE_IN_ALL
539
void g_object_add_toggle_ref    (GObject       *object,
540
         GToggleNotify  notify,
541
         gpointer       data);
542
GLIB_AVAILABLE_IN_ALL
543
void g_object_remove_toggle_ref (GObject       *object,
544
         GToggleNotify  notify,
545
         gpointer       data);
546
547
GLIB_AVAILABLE_IN_ALL
548
gpointer    g_object_get_qdata                (GObject        *object,
549
                 GQuark          quark);
550
GLIB_AVAILABLE_IN_ALL
551
void        g_object_set_qdata                (GObject        *object,
552
                 GQuark          quark,
553
                 gpointer        data);
554
GLIB_AVAILABLE_IN_ALL
555
void        g_object_set_qdata_full           (GObject        *object,
556
                 GQuark          quark,
557
                 gpointer        data,
558
                 GDestroyNotify  destroy);
559
GLIB_AVAILABLE_IN_ALL
560
gpointer    g_object_steal_qdata              (GObject        *object,
561
                 GQuark          quark);
562
563
GLIB_AVAILABLE_IN_2_34
564
gpointer    g_object_dup_qdata                (GObject        *object,
565
                                               GQuark          quark,
566
                                               GDuplicateFunc  dup_func,
567
                 gpointer         user_data);
568
GLIB_AVAILABLE_IN_2_34
569
gboolean    g_object_replace_qdata            (GObject        *object,
570
                                               GQuark          quark,
571
                                               gpointer        oldval,
572
                                               gpointer        newval,
573
                                               GDestroyNotify  destroy,
574
                 GDestroyNotify *old_destroy);
575
576
GLIB_AVAILABLE_IN_ALL
577
gpointer    g_object_get_data                 (GObject        *object,
578
                 const gchar    *key);
579
GLIB_AVAILABLE_IN_ALL
580
void        g_object_set_data                 (GObject        *object,
581
                 const gchar    *key,
582
                 gpointer        data);
583
GLIB_AVAILABLE_IN_ALL
584
void        g_object_set_data_full            (GObject        *object,
585
                 const gchar    *key,
586
                 gpointer        data,
587
                 GDestroyNotify  destroy);
588
GLIB_AVAILABLE_IN_ALL
589
gpointer    g_object_steal_data               (GObject        *object,
590
                 const gchar    *key);
591
592
GLIB_AVAILABLE_IN_2_34
593
gpointer    g_object_dup_data                 (GObject        *object,
594
                                               const gchar    *key,
595
                                               GDuplicateFunc  dup_func,
596
                 gpointer         user_data);
597
GLIB_AVAILABLE_IN_2_34
598
gboolean    g_object_replace_data             (GObject        *object,
599
                                               const gchar    *key,
600
                                               gpointer        oldval,
601
                                               gpointer        newval,
602
                                               GDestroyNotify  destroy,
603
                 GDestroyNotify *old_destroy);
604
605
606
GLIB_AVAILABLE_IN_ALL
607
void        g_object_watch_closure            (GObject        *object,
608
                 GClosure       *closure);
609
GLIB_AVAILABLE_IN_ALL
610
GClosure*   g_cclosure_new_object             (GCallback       callback_func,
611
                 GObject        *object);
612
GLIB_AVAILABLE_IN_ALL
613
GClosure*   g_cclosure_new_object_swap        (GCallback       callback_func,
614
                 GObject        *object);
615
GLIB_AVAILABLE_IN_ALL
616
GClosure*   g_closure_new_object              (guint           sizeof_closure,
617
                 GObject        *object);
618
GLIB_AVAILABLE_IN_ALL
619
void        g_value_set_object                (GValue         *value,
620
                 gpointer        v_object);
621
GLIB_AVAILABLE_IN_ALL
622
gpointer    g_value_get_object                (const GValue   *value);
623
GLIB_AVAILABLE_IN_ALL
624
gpointer    g_value_dup_object                (const GValue   *value);
625
GLIB_AVAILABLE_IN_ALL
626
gulong      g_signal_connect_object           (gpointer        instance,
627
                 const gchar    *detailed_signal,
628
                 GCallback       c_handler,
629
                 gpointer        gobject,
630
                 GConnectFlags   connect_flags);
631
632
/*< protected >*/
633
GLIB_AVAILABLE_IN_ALL
634
void        g_object_force_floating           (GObject        *object);
635
GLIB_AVAILABLE_IN_ALL
636
void        g_object_run_dispose        (GObject        *object);
637
638
639
GLIB_AVAILABLE_IN_ALL
640
void        g_value_take_object               (GValue         *value,
641
                 gpointer        v_object);
642
GLIB_DEPRECATED_FOR(g_value_take_object)
643
void        g_value_set_object_take_ownership (GValue         *value,
644
                                               gpointer        v_object);
645
646
GLIB_DEPRECATED
647
gsize     g_object_compat_control       (gsize         what,
648
                 gpointer        data);
649
650
/* --- implementation macros --- */
651
0
#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \
652
0
G_STMT_START { \
653
0
  GObject *_glib__object = (GObject*) (object); \
654
0
  GParamSpec *_glib__pspec = (GParamSpec*) (pspec); \
655
0
  guint _glib__property_id = (property_id); \
656
0
  g_warning ("%s:%d: invalid %s id %u for \"%s\" of type '%s' in '%s'", \
657
0
             __FILE__, __LINE__, \
658
0
             (pname), \
659
0
             _glib__property_id, \
660
0
             _glib__pspec->name, \
661
0
             g_type_name (G_PARAM_SPEC_TYPE (_glib__pspec)), \
662
0
             G_OBJECT_TYPE_NAME (_glib__object)); \
663
0
} G_STMT_END
664
/**
665
 * G_OBJECT_WARN_INVALID_PROPERTY_ID:
666
 * @object: the #GObject on which set_property() or get_property() was called
667
 * @property_id: the numeric id of the property
668
 * @pspec: the #GParamSpec of the property
669
 * 
670
 * This macro should be used to emit a standard warning about unexpected 
671
 * properties in set_property() and get_property() implementations.
672
 */
673
#define G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec) \
674
0
    G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec))
675
676
GLIB_AVAILABLE_IN_ALL
677
void    g_clear_object (GObject **object_ptr);
678
#define g_clear_object(object_ptr) g_clear_pointer ((object_ptr), g_object_unref)
679
680
/**
681
 * g_set_object: (skip)
682
 * @object_ptr: a pointer to a #GObject reference
683
 * @new_object: (nullable) (transfer none): a pointer to the new #GObject to
684
 *   assign to it, or %NULL to clear the pointer
685
 *
686
 * Updates a #GObject pointer to refer to @new_object. It increments the
687
 * reference count of @new_object (if non-%NULL), decrements the reference
688
 * count of the current value of @object_ptr (if non-%NULL), and assigns
689
 * @new_object to @object_ptr. The assignment is not atomic.
690
 *
691
 * @object_ptr must not be %NULL.
692
 *
693
 * A macro is also included that allows this function to be used without
694
 * pointer casts. The function itself is static inline, so its address may vary
695
 * between compilation units.
696
 *
697
 * One convenient usage of this function is in implementing property setters:
698
 * |[
699
 *   void
700
 *   foo_set_bar (Foo *foo,
701
 *                Bar *new_bar)
702
 *   {
703
 *     g_return_if_fail (IS_FOO (foo));
704
 *     g_return_if_fail (new_bar == NULL || IS_BAR (new_bar));
705
 *
706
 *     if (g_set_object (&foo->bar, new_bar))
707
 *       g_object_notify (foo, "bar");
708
 *   }
709
 * ]|
710
 *
711
 * Returns: %TRUE if the value of @object_ptr changed, %FALSE otherwise
712
 *
713
 * Since: 2.44
714
 */
715
static inline gboolean
716
(g_set_object) (GObject **object_ptr,
717
                GObject  *new_object)
718
0
{
719
0
  GObject *old_object = *object_ptr;
720
0
721
0
  /* rely on g_object_[un]ref() to check the pointers are actually GObjects;
722
0
   * elide a (object_ptr != NULL) check because most of the time we will be
723
0
   * operating on struct members with a constant offset, so a NULL check would
724
0
   * not catch bugs
725
0
   */
726
0
727
0
  if (old_object == new_object)
728
0
    return FALSE;
729
0
730
0
  if (new_object != NULL)
731
0
    g_object_ref (new_object);
732
0
733
0
  *object_ptr = new_object;
734
0
735
0
  if (old_object != NULL)
736
0
    g_object_unref (old_object);
737
0
738
0
  return TRUE;
739
0
}
Unexecuted instantiation: fuzzing-main.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: binding-handler.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: boolcfg-stub.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: device-energy-management-stub.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: energy-evse-stub.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: occupancy-sensing-stub.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: operational-state-delegate-impl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: smco-stub.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DeviceEnergyManagementDelegateImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DeviceEnergyManagementManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: device-energy-management-mode.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ChargingTargetsMemMgr.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: EVSEManufacturerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: EnergyEvseDelegateImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: EnergyEvseManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: EnergyEvseTargetsStore.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WhmDelegateImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WhmInstance.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WhmMain.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WhmManufacturer.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thermostat-delegate-impl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: AllClustersCommandDelegate.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: AppOptions.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ButtonEventsSimulator.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WindowCoveringManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: main-common.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: AppMain.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CommissionableInit.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: reporting.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: attribute-storage.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ember-global-attribute-access-interface.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: access-control-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: administrator-commissioning-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: basic-information.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: bindings.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BindingManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: color-control-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: descriptor.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: device-energy-management-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: dishwasher-alarm-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: energy-evse-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: fault-injection-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: fixed-label-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: general-commissioning-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: general-diagnostics-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: group-key-mgmt-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: identify-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: laundry-dryer-controls-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: laundry-washer-controls-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: level-control.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: localization-configuration-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: mode-base-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: mode-select-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: network-commissioning.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: on-off-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: operational-credentials-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: operational-state-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BDXDownloader.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DefaultOTARequestor.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DefaultOTARequestorDriver.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ExtendedOTARequestorDriver.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: pump-configuration-and-control-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: refrigerator-alarm-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: resource-monitoring-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: scenes-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: switch-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: temperature-control-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: test-cluster-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thermostat-server-atomic.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thermostat-server-presets.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thermostat-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thread-network-diagnostics-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: thread-network-diagnostics-provider.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: time-format-localization-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: time-synchronization-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: user-label-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: valve-configuration-and-control-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: water-heater-management-server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: IMClusterCommandHandler.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ICDManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: EventManagement.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: FailSafeContext.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReliableMessageContext.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReliableMessageMgr.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReliableMessageProtocolConfig.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DeviceControlServer.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: Globals.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: LockTracker.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: PlatformEventSupport.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: SingletonConfigurationManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CHIPLinuxStorage.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CHIPLinuxStorageIni.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ConfigurationManagerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ConnectivityManagerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ConnectivityUtils.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DiagnosticDataProviderImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: NetworkCommissioningEthernetDriver.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: PlatformManagerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: GeneralUtils.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DeviceInstanceInfoProviderImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: PosixConfig.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: SystemTimeSupport.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BLEManagerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BluezAdvertisement.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BluezConnection.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BluezEndpoint.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: BluezObjectManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ChipDeviceScanner.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: NetworkCommissioningWiFiDriver.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DBusWpa.c:g_set_object
Unexecuted instantiation: DBusWpaBss.c:g_set_object
Unexecuted instantiation: DBusWpaInterface.c:g_set_object
Unexecuted instantiation: DBusWpaNetwork.c:g_set_object
Unexecuted instantiation: DbusBluez.c:g_set_object
Unexecuted instantiation: SessionManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: LastKnownGoodTime.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CASESessionManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: InteractionModelEngine.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: WriteHandler.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CommandResponseSender.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReadHandler.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: OperationalSessionSetup.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CASESession.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: PairingSession.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: Engine.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReadClient.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: SubscriptionResumptionSessionEstablisher.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: Server.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: CommissioningWindowManager.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: Dnssd.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: OnboardingCodesUtil.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: ReportSchedulerImpl.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: TimerDelegates.cpp:g_set_object(_GObject**, _GObject*)
Unexecuted instantiation: DeviceInfoProviderImpl.cpp:g_set_object(_GObject**, _GObject*)
740
741
/* We need GCC for __extension__, which we need to sort out strict aliasing of @object_ptr */
742
#if defined(__GNUC__)
743
744
#define g_set_object(object_ptr, new_object) \
745
  (G_GNUC_EXTENSION ({ \
746
    G_STATIC_ASSERT (sizeof *(object_ptr) == sizeof (new_object)); \
747
    /* Only one access, please; work around type aliasing */ \
748
    union { char *in; GObject **out; } _object_ptr; \
749
    _object_ptr.in = (char *) (object_ptr); \
750
    /* Check types match */ \
751
    (void) (0 ? *(object_ptr) = (new_object), FALSE : FALSE); \
752
    (g_set_object) (_object_ptr.out, (GObject *) new_object); \
753
  })) \
754
  GLIB_AVAILABLE_MACRO_IN_2_44
755
756
#else  /* if !defined(__GNUC__) */
757
758
#define g_set_object(object_ptr, new_object) \
759
 (/* Check types match. */ \
760
  0 ? *(object_ptr) = (new_object), FALSE : \
761
  (g_set_object) ((GObject **) (object_ptr), (GObject *) (new_object)) \
762
 )
763
764
#endif  /* !defined(__GNUC__) */
765
766
/**
767
 * g_assert_finalize_object: (skip)
768
 * @object: (transfer full) (type GObject.Object): an object
769
 *
770
 * Assert that @object is non-%NULL, then release one reference to it with
771
 * g_object_unref() and assert that it has been finalized (i.e. that there
772
 * are no more references).
773
 *
774
 * If assertions are disabled via `G_DISABLE_ASSERT`,
775
 * this macro just calls g_object_unref() without any further checks.
776
 *
777
 * This macro should only be used in regression tests.
778
 *
779
 * Since: 2.62
780
 */
781
static inline void
782
(g_assert_finalize_object) (GObject *object)
783
0
{
784
0
  gpointer weak_pointer = object;
785
0
786
0
  g_assert_true (G_IS_OBJECT (weak_pointer));
787
0
  g_object_add_weak_pointer (object, &weak_pointer);
788
0
  g_object_unref (weak_pointer);
789
0
  g_assert_null (weak_pointer);
790
0
}
Unexecuted instantiation: fuzzing-main.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: binding-handler.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: boolcfg-stub.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: device-energy-management-stub.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: energy-evse-stub.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: occupancy-sensing-stub.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: operational-state-delegate-impl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: smco-stub.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DeviceEnergyManagementDelegateImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DeviceEnergyManagementManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: device-energy-management-mode.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ChargingTargetsMemMgr.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: EVSEManufacturerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: EnergyEvseDelegateImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: EnergyEvseManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: EnergyEvseTargetsStore.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WhmDelegateImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WhmInstance.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WhmMain.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WhmManufacturer.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thermostat-delegate-impl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: AllClustersCommandDelegate.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: AppOptions.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ButtonEventsSimulator.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WindowCoveringManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: main-common.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: AppMain.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CommissionableInit.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: reporting.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: attribute-storage.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ember-global-attribute-access-interface.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: access-control-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: administrator-commissioning-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: basic-information.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: bindings.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BindingManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: color-control-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: descriptor.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: device-energy-management-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: dishwasher-alarm-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: energy-evse-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: fault-injection-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: fixed-label-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: general-commissioning-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: general-diagnostics-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: group-key-mgmt-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: identify-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: laundry-dryer-controls-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: laundry-washer-controls-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: level-control.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: localization-configuration-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: mode-base-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: mode-select-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: network-commissioning.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: on-off-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: operational-credentials-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: operational-state-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BDXDownloader.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DefaultOTARequestor.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DefaultOTARequestorDriver.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ExtendedOTARequestorDriver.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: pump-configuration-and-control-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: refrigerator-alarm-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: resource-monitoring-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: scenes-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: switch-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: temperature-control-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: test-cluster-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thermostat-server-atomic.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thermostat-server-presets.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thermostat-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thread-network-diagnostics-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: thread-network-diagnostics-provider.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: time-format-localization-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: time-synchronization-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: user-label-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: valve-configuration-and-control-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: water-heater-management-server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: IMClusterCommandHandler.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ICDManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: EventManagement.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: FailSafeContext.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReliableMessageContext.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReliableMessageMgr.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReliableMessageProtocolConfig.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DeviceControlServer.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: Globals.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: LockTracker.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: PlatformEventSupport.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: SingletonConfigurationManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CHIPLinuxStorage.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CHIPLinuxStorageIni.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ConfigurationManagerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ConnectivityManagerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ConnectivityUtils.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DiagnosticDataProviderImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: NetworkCommissioningEthernetDriver.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: PlatformManagerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: GeneralUtils.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DeviceInstanceInfoProviderImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: PosixConfig.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: SystemTimeSupport.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BLEManagerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BluezAdvertisement.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BluezConnection.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BluezEndpoint.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: BluezObjectManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ChipDeviceScanner.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: NetworkCommissioningWiFiDriver.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DBusWpa.c:g_assert_finalize_object
Unexecuted instantiation: DBusWpaBss.c:g_assert_finalize_object
Unexecuted instantiation: DBusWpaInterface.c:g_assert_finalize_object
Unexecuted instantiation: DBusWpaNetwork.c:g_assert_finalize_object
Unexecuted instantiation: DbusBluez.c:g_assert_finalize_object
Unexecuted instantiation: SessionManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: LastKnownGoodTime.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CASESessionManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: InteractionModelEngine.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: WriteHandler.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CommandResponseSender.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReadHandler.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: OperationalSessionSetup.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CASESession.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: PairingSession.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: Engine.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReadClient.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: SubscriptionResumptionSessionEstablisher.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: Server.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: CommissioningWindowManager.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: Dnssd.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: OnboardingCodesUtil.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: ReportSchedulerImpl.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: TimerDelegates.cpp:g_assert_finalize_object(_GObject*)
Unexecuted instantiation: DeviceInfoProviderImpl.cpp:g_assert_finalize_object(_GObject*)
791
792
#ifdef G_DISABLE_ASSERT
793
#define g_assert_finalize_object(object) g_object_unref (object)
794
#else
795
#define g_assert_finalize_object(object) (g_assert_finalize_object ((GObject *) object))
796
#endif
797
798
/**
799
 * g_clear_weak_pointer: (skip)
800
 * @weak_pointer_location: The memory address of a pointer
801
 *
802
 * Clears a weak reference to a #GObject.
803
 *
804
 * @weak_pointer_location must not be %NULL.
805
 *
806
 * If the weak reference is %NULL then this function does nothing.
807
 * Otherwise, the weak reference to the object is removed for that location
808
 * and the pointer is set to %NULL.
809
 *
810
 * A macro is also included that allows this function to be used without
811
 * pointer casts. The function itself is static inline, so its address may vary
812
 * between compilation units.
813
 *
814
 * Since: 2.56
815
 */
816
static inline void
817
(g_clear_weak_pointer) (gpointer *weak_pointer_location)
818
0
{
819
0
  GObject *object = (GObject *) *weak_pointer_location;
820
0
821
0
  if (object != NULL)
822
0
    {
823
0
      g_object_remove_weak_pointer (object, weak_pointer_location);
824
0
      *weak_pointer_location = NULL;
825
0
    }
826
0
}
Unexecuted instantiation: fuzzing-main.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: binding-handler.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: boolcfg-stub.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: device-energy-management-stub.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: energy-evse-stub.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: occupancy-sensing-stub.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: operational-state-delegate-impl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: smco-stub.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DeviceEnergyManagementDelegateImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DeviceEnergyManagementManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: device-energy-management-mode.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ChargingTargetsMemMgr.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: EVSEManufacturerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: EnergyEvseDelegateImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: EnergyEvseManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: EnergyEvseTargetsStore.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WhmDelegateImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WhmInstance.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WhmMain.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WhmManufacturer.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thermostat-delegate-impl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: AllClustersCommandDelegate.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: AppOptions.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ButtonEventsSimulator.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WindowCoveringManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: main-common.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: AppMain.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CommissionableInit.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: reporting.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: attribute-storage.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ember-global-attribute-access-interface.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: access-control-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: administrator-commissioning-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: basic-information.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: bindings.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BindingManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: color-control-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: descriptor.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: device-energy-management-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: dishwasher-alarm-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: energy-evse-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: fault-injection-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: fixed-label-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: general-commissioning-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: general-diagnostics-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: group-key-mgmt-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: identify-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: laundry-dryer-controls-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: laundry-washer-controls-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: level-control.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: localization-configuration-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: mode-base-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: mode-select-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: network-commissioning.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: on-off-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: operational-credentials-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: operational-state-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BDXDownloader.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DefaultOTARequestor.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DefaultOTARequestorDriver.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ExtendedOTARequestorDriver.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: pump-configuration-and-control-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: refrigerator-alarm-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: resource-monitoring-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: scenes-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: switch-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: temperature-control-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: test-cluster-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thermostat-server-atomic.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thermostat-server-presets.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thermostat-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thread-network-diagnostics-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: thread-network-diagnostics-provider.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: time-format-localization-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: time-synchronization-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: user-label-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: valve-configuration-and-control-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: water-heater-management-server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: IMClusterCommandHandler.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ICDManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: EventManagement.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: FailSafeContext.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReliableMessageContext.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReliableMessageMgr.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReliableMessageProtocolConfig.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DeviceControlServer.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: Globals.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: LockTracker.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: PlatformEventSupport.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: SingletonConfigurationManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CHIPLinuxStorage.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CHIPLinuxStorageIni.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ConfigurationManagerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ConnectivityManagerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ConnectivityUtils.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DiagnosticDataProviderImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: NetworkCommissioningEthernetDriver.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: PlatformManagerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: GeneralUtils.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DeviceInstanceInfoProviderImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: PosixConfig.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: SystemTimeSupport.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BLEManagerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BluezAdvertisement.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BluezConnection.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BluezEndpoint.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: BluezObjectManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ChipDeviceScanner.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: NetworkCommissioningWiFiDriver.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DBusWpa.c:g_clear_weak_pointer
Unexecuted instantiation: DBusWpaBss.c:g_clear_weak_pointer
Unexecuted instantiation: DBusWpaInterface.c:g_clear_weak_pointer
Unexecuted instantiation: DBusWpaNetwork.c:g_clear_weak_pointer
Unexecuted instantiation: DbusBluez.c:g_clear_weak_pointer
Unexecuted instantiation: SessionManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: LastKnownGoodTime.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CASESessionManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: InteractionModelEngine.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: WriteHandler.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CommandResponseSender.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReadHandler.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: OperationalSessionSetup.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CASESession.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: PairingSession.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: Engine.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReadClient.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: SubscriptionResumptionSessionEstablisher.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: Server.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: CommissioningWindowManager.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: Dnssd.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: OnboardingCodesUtil.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: ReportSchedulerImpl.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: TimerDelegates.cpp:g_clear_weak_pointer(void**)
Unexecuted instantiation: DeviceInfoProviderImpl.cpp:g_clear_weak_pointer(void**)
827
828
#define g_clear_weak_pointer(weak_pointer_location) \
829
 (/* Check types match. */ \
830
  (g_clear_weak_pointer) ((gpointer *) (weak_pointer_location)) \
831
 )
832
833
/**
834
 * g_set_weak_pointer: (skip)
835
 * @weak_pointer_location: the memory address of a pointer
836
 * @new_object: (nullable) (transfer none): a pointer to the new #GObject to
837
 *   assign to it, or %NULL to clear the pointer
838
 *
839
 * Updates a pointer to weakly refer to @new_object. It assigns @new_object
840
 * to @weak_pointer_location and ensures that @weak_pointer_location will
841
 * automaticaly be set to %NULL if @new_object gets destroyed. The assignment
842
 * is not atomic. The weak reference is not thread-safe, see
843
 * g_object_add_weak_pointer() for details.
844
 *
845
 * @weak_pointer_location must not be %NULL.
846
 *
847
 * A macro is also included that allows this function to be used without
848
 * pointer casts. The function itself is static inline, so its address may vary
849
 * between compilation units.
850
 *
851
 * One convenient usage of this function is in implementing property setters:
852
 * |[
853
 *   void
854
 *   foo_set_bar (Foo *foo,
855
 *                Bar *new_bar)
856
 *   {
857
 *     g_return_if_fail (IS_FOO (foo));
858
 *     g_return_if_fail (new_bar == NULL || IS_BAR (new_bar));
859
 *
860
 *     if (g_set_weak_pointer (&foo->bar, new_bar))
861
 *       g_object_notify (foo, "bar");
862
 *   }
863
 * ]|
864
 *
865
 * Returns: %TRUE if the value of @weak_pointer_location changed, %FALSE otherwise
866
 *
867
 * Since: 2.56
868
 */
869
static inline gboolean
870
(g_set_weak_pointer) (gpointer *weak_pointer_location,
871
                      GObject  *new_object)
872
0
{
873
0
  GObject *old_object = (GObject *) *weak_pointer_location;
874
0
875
0
  /* elide a (weak_pointer_location != NULL) check because most of the time we
876
0
   * will be operating on struct members with a constant offset, so a NULL
877
0
   * check would not catch bugs
878
0
   */
879
0
880
0
  if (old_object == new_object)
881
0
    return FALSE;
882
0
883
0
  if (old_object != NULL)
884
0
    g_object_remove_weak_pointer (old_object, weak_pointer_location);
885
0
886
0
  *weak_pointer_location = new_object;
887
0
888
0
  if (new_object != NULL)
889
0
    g_object_add_weak_pointer (new_object, weak_pointer_location);
890
0
891
0
  return TRUE;
892
0
}
Unexecuted instantiation: fuzzing-main.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: binding-handler.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: boolcfg-stub.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: device-energy-management-stub.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: energy-evse-stub.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: occupancy-sensing-stub.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: operational-state-delegate-impl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: smco-stub.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DeviceEnergyManagementDelegateImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DeviceEnergyManagementManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: device-energy-management-mode.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ChargingTargetsMemMgr.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: EVSEManufacturerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: EnergyEvseDelegateImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: EnergyEvseManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: EnergyEvseTargetsStore.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WhmDelegateImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WhmInstance.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WhmMain.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WhmManufacturer.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thermostat-delegate-impl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: AllClustersCommandDelegate.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: AppOptions.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ButtonEventsSimulator.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WindowCoveringManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: main-common.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: AppMain.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CommissionableInit.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: reporting.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: attribute-storage.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ember-global-attribute-access-interface.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: access-control-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: administrator-commissioning-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: basic-information.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: bindings.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BindingManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: color-control-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: descriptor.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: device-energy-management-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: dishwasher-alarm-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: energy-evse-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: fault-injection-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: fixed-label-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: general-commissioning-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: general-diagnostics-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: group-key-mgmt-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: identify-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: laundry-dryer-controls-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: laundry-washer-controls-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: level-control.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: localization-configuration-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: mode-base-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: mode-select-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: network-commissioning.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: on-off-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: operational-credentials-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: operational-state-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BDXDownloader.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DefaultOTARequestor.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DefaultOTARequestorDriver.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ExtendedOTARequestorDriver.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: pump-configuration-and-control-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: refrigerator-alarm-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: resource-monitoring-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: scenes-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: switch-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: temperature-control-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: test-cluster-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thermostat-server-atomic.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thermostat-server-presets.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thermostat-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thread-network-diagnostics-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: thread-network-diagnostics-provider.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: time-format-localization-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: time-synchronization-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: user-label-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: valve-configuration-and-control-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: water-heater-management-server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: IMClusterCommandHandler.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ICDManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: EventManagement.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: FailSafeContext.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReliableMessageContext.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReliableMessageMgr.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReliableMessageProtocolConfig.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DeviceControlServer.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: Globals.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: LockTracker.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: PlatformEventSupport.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: SingletonConfigurationManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CHIPLinuxStorage.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CHIPLinuxStorageIni.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ConfigurationManagerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ConnectivityManagerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ConnectivityUtils.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DiagnosticDataProviderImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: NetworkCommissioningEthernetDriver.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: PlatformManagerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: GeneralUtils.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DeviceInstanceInfoProviderImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: PosixConfig.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: SystemTimeSupport.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BLEManagerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BluezAdvertisement.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BluezConnection.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BluezEndpoint.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: BluezObjectManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ChipDeviceScanner.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: NetworkCommissioningWiFiDriver.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DBusWpa.c:g_set_weak_pointer
Unexecuted instantiation: DBusWpaBss.c:g_set_weak_pointer
Unexecuted instantiation: DBusWpaInterface.c:g_set_weak_pointer
Unexecuted instantiation: DBusWpaNetwork.c:g_set_weak_pointer
Unexecuted instantiation: DbusBluez.c:g_set_weak_pointer
Unexecuted instantiation: SessionManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: LastKnownGoodTime.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CASESessionManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: InteractionModelEngine.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: WriteHandler.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CommandResponseSender.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReadHandler.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: OperationalSessionSetup.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CASESession.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: PairingSession.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: Engine.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReadClient.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: SubscriptionResumptionSessionEstablisher.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: Server.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: CommissioningWindowManager.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: Dnssd.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: OnboardingCodesUtil.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: ReportSchedulerImpl.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: TimerDelegates.cpp:g_set_weak_pointer(void**, _GObject*)
Unexecuted instantiation: DeviceInfoProviderImpl.cpp:g_set_weak_pointer(void**, _GObject*)
893
894
#define g_set_weak_pointer(weak_pointer_location, new_object) \
895
 (/* Check types match. */ \
896
  0 ? *(weak_pointer_location) = (new_object), FALSE : \
897
  (g_set_weak_pointer) ((gpointer *) (weak_pointer_location), (GObject *) (new_object)) \
898
 )
899
900
typedef struct {
901
    /*<private>*/
902
    union { gpointer p; } priv;
903
} GWeakRef;
904
905
GLIB_AVAILABLE_IN_ALL
906
void     g_weak_ref_init       (GWeakRef *weak_ref,
907
                                gpointer  object);
908
GLIB_AVAILABLE_IN_ALL
909
void     g_weak_ref_clear      (GWeakRef *weak_ref);
910
GLIB_AVAILABLE_IN_ALL
911
gpointer g_weak_ref_get        (GWeakRef *weak_ref);
912
GLIB_AVAILABLE_IN_ALL
913
void     g_weak_ref_set        (GWeakRef *weak_ref,
914
                                gpointer  object);
915
916
G_END_DECLS
917
918
#endif /* __G_OBJECT_H__ */