1 // Generated by gmmproc 2.64.2 -- DO NOT MODIFY!
2 #ifndef _GIOMM_DBUSINTROSPECTION_H
3 #define _GIOMM_DBUSINTROSPECTION_H
4 
5 #include <giommconfig.h>
6 
7 
8 #include <glibmm/ustring.h>
9 #include <sigc++/sigc++.h>
10 
11 /* Copyright (C) 2010 The giomm Development Team
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Lesser General Public
15  * License as published by the Free Software Foundation; either
16  * version 2.1 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Lesser General Public License for more details.
22  *
23  * You should have received a copy of the GNU Lesser General Public
24  * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
25  */
26 
27 
28 #include <gio/gio.h>
29 #include <glibmm/arrayhandle.h>
30 
31 
32 namespace Gio
33 {
34 
35 namespace DBus
36 {
37 
38 /** @addtogroup giommEnums giomm Enums and Flags */
39 
40 /**
41  *  @var PropertyInfoFlags PROPERTY_INFO_FLAGS_NONE
42  * No flags set.
43  *
44  *  @var PropertyInfoFlags PROPERTY_INFO_FLAGS_READABLE
45  * Property is readable.
46  *
47  *  @var PropertyInfoFlags PROPERTY_INFO_FLAGS_WRITABLE
48  * Property is writable.
49  *
50  *  @enum PropertyInfoFlags
51  *
52  * Flags describing the access control of a D-Bus property.
53  *
54  * @newin{2,26}
55  *
56  * @ingroup giommEnums
57  * @par Bitwise operators:
58  * <tt>%PropertyInfoFlags operator|(PropertyInfoFlags, PropertyInfoFlags)</tt><br>
59  * <tt>%PropertyInfoFlags operator&(PropertyInfoFlags, PropertyInfoFlags)</tt><br>
60  * <tt>%PropertyInfoFlags operator^(PropertyInfoFlags, PropertyInfoFlags)</tt><br>
61  * <tt>%PropertyInfoFlags operator~(PropertyInfoFlags)</tt><br>
62  * <tt>%PropertyInfoFlags& operator|=(PropertyInfoFlags&, PropertyInfoFlags)</tt><br>
63  * <tt>%PropertyInfoFlags& operator&=(PropertyInfoFlags&, PropertyInfoFlags)</tt><br>
64  * <tt>%PropertyInfoFlags& operator^=(PropertyInfoFlags&, PropertyInfoFlags)</tt><br>
65  */
66 enum PropertyInfoFlags
67 {
68   PROPERTY_INFO_FLAGS_NONE = 0x0,
69   PROPERTY_INFO_FLAGS_READABLE = (1<<0),
70   PROPERTY_INFO_FLAGS_WRITABLE = (1<<1)
71 };
72 
73 /** @ingroup giommEnums */
74 inline PropertyInfoFlags operator|(PropertyInfoFlags lhs, PropertyInfoFlags rhs)
75   { return static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
76 
77 /** @ingroup giommEnums */
78 inline PropertyInfoFlags operator&(PropertyInfoFlags lhs, PropertyInfoFlags rhs)
79   { return static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
80 
81 /** @ingroup giommEnums */
82 inline PropertyInfoFlags operator^(PropertyInfoFlags lhs, PropertyInfoFlags rhs)
83   { return static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
84 
85 /** @ingroup giommEnums */
86 inline PropertyInfoFlags operator~(PropertyInfoFlags flags)
87   { return static_cast<PropertyInfoFlags>(~static_cast<unsigned>(flags)); }
88 
89 /** @ingroup giommEnums */
90 inline PropertyInfoFlags& operator|=(PropertyInfoFlags& lhs, PropertyInfoFlags rhs)
91   { return (lhs = static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
92 
93 /** @ingroup giommEnums */
94 inline PropertyInfoFlags& operator&=(PropertyInfoFlags& lhs, PropertyInfoFlags rhs)
95   { return (lhs = static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
96 
97 /** @ingroup giommEnums */
98 inline PropertyInfoFlags& operator^=(PropertyInfoFlags& lhs, PropertyInfoFlags rhs)
99   { return (lhs = static_cast<PropertyInfoFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
100 
101 
102 /** Stores information about an annotation.
103  *
104  * @newin{2,28}
105  * @ingroup DBus
106  */
107 class GIOMM_API AnnotationInfo final
108 {
109   public:
110 #ifndef DOXYGEN_SHOULD_SKIP_THIS
111   using CppObjectType = AnnotationInfo;
112   using BaseObjectType = GDBusAnnotationInfo;
113 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
114 
115 
116   /** Increment the reference count for this object.
117    * You should never need to do this manually - use the object via a RefPtr instead.
118    */
119   void reference()   const;
120 
121   /** Decrement the reference count for this object.
122    * You should never need to do this manually - use the object via a RefPtr instead.
123    */
124   void unreference() const;
125 
126   ///Provides access to the underlying C instance.
127   GDBusAnnotationInfo*       gobj();
128 
129   ///Provides access to the underlying C instance.
130   const GDBusAnnotationInfo* gobj() const;
131 
132   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
133   GDBusAnnotationInfo* gobj_copy() const;
134 
135   AnnotationInfo() = delete;
136 
137   // noncopyable
138   AnnotationInfo(const AnnotationInfo&) = delete;
139   AnnotationInfo& operator=(const AnnotationInfo&) = delete;
140 
141 protected:
142   // Do not derive this.  Gio::DBus::AnnotationInfo can neither be constructed nor deleted.
143 
144   void operator delete(void*, std::size_t);
145 
146 private:
147 
148 
149 public:
150 
151 
152   /** Looks up the value of an annotation.
153    *
154    * The cost of this function is O(n) in number of annotations.
155    *
156    * @newin{2,26}
157    *
158    * @param annotations A <tt>nullptr</tt>-terminated array of annotations or <tt>nullptr</tt>.
159    * @param name The name of the annotation to look up.
160    * @return The value or <tt>nullptr</tt> if not found. Do not free, it is owned by @a annotations.
161    */
162   static Glib::ustring info_lookup(const Glib::ArrayHandle< Glib::RefPtr<AnnotationInfo> >& annotations, const Glib::ustring& name);
163 
164 
165 };
166 
167 /** ArgInfo - Stores information about an argument for a method or a
168  * signal.
169  *
170  * @newin{2,28}
171  * @ingroup DBus
172  */
173 class GIOMM_API ArgInfo final
174 {
175   public:
176 #ifndef DOXYGEN_SHOULD_SKIP_THIS
177   using CppObjectType = ArgInfo;
178   using BaseObjectType = GDBusArgInfo;
179 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
180 
181 
182   /** Increment the reference count for this object.
183    * You should never need to do this manually - use the object via a RefPtr instead.
184    */
185   void reference()   const;
186 
187   /** Decrement the reference count for this object.
188    * You should never need to do this manually - use the object via a RefPtr instead.
189    */
190   void unreference() const;
191 
192   ///Provides access to the underlying C instance.
193   GDBusArgInfo*       gobj();
194 
195   ///Provides access to the underlying C instance.
196   const GDBusArgInfo* gobj() const;
197 
198   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
199   GDBusArgInfo* gobj_copy() const;
200 
201   ArgInfo() = delete;
202 
203   // noncopyable
204   ArgInfo(const ArgInfo&) = delete;
205   ArgInfo& operator=(const ArgInfo&) = delete;
206 
207 protected:
208   // Do not derive this.  Gio::DBus::ArgInfo can neither be constructed nor deleted.
209 
210   void operator delete(void*, std::size_t);
211 
212 private:
213 
214 
215 public:
216 
217 
218 };
219 
220 /** Stores information about a method on an D-Bus interface.
221  *
222  * @newin{2,28}
223  * @ingroup DBus
224  */
225 class GIOMM_API MethodInfo final
226 {
227   public:
228 #ifndef DOXYGEN_SHOULD_SKIP_THIS
229   using CppObjectType = MethodInfo;
230   using BaseObjectType = GDBusMethodInfo;
231 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
232 
233 
234   /** Increment the reference count for this object.
235    * You should never need to do this manually - use the object via a RefPtr instead.
236    */
237   void reference()   const;
238 
239   /** Decrement the reference count for this object.
240    * You should never need to do this manually - use the object via a RefPtr instead.
241    */
242   void unreference() const;
243 
244   ///Provides access to the underlying C instance.
245   GDBusMethodInfo*       gobj();
246 
247   ///Provides access to the underlying C instance.
248   const GDBusMethodInfo* gobj() const;
249 
250   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
251   GDBusMethodInfo* gobj_copy() const;
252 
253   MethodInfo() = delete;
254 
255   // noncopyable
256   MethodInfo(const MethodInfo&) = delete;
257   MethodInfo& operator=(const MethodInfo&) = delete;
258 
259 protected:
260   // Do not derive this.  Gio::DBus::MethodInfo can neither be constructed nor deleted.
261 
262   void operator delete(void*, std::size_t);
263 
264 private:
265 
266 
267 public:
268 
269 
270 };
271 
272 /** Stores information about a signal on a D-Bus interface.
273  *
274  * @newin{2,28}
275  * @ingroup DBus
276  */
277 class GIOMM_API SignalInfo final
278 {
279   public:
280 #ifndef DOXYGEN_SHOULD_SKIP_THIS
281   using CppObjectType = SignalInfo;
282   using BaseObjectType = GDBusSignalInfo;
283 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
284 
285 
286   /** Increment the reference count for this object.
287    * You should never need to do this manually - use the object via a RefPtr instead.
288    */
289   void reference()   const;
290 
291   /** Decrement the reference count for this object.
292    * You should never need to do this manually - use the object via a RefPtr instead.
293    */
294   void unreference() const;
295 
296   ///Provides access to the underlying C instance.
297   GDBusSignalInfo*       gobj();
298 
299   ///Provides access to the underlying C instance.
300   const GDBusSignalInfo* gobj() const;
301 
302   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
303   GDBusSignalInfo* gobj_copy() const;
304 
305   SignalInfo() = delete;
306 
307   // noncopyable
308   SignalInfo(const SignalInfo&) = delete;
309   SignalInfo& operator=(const SignalInfo&) = delete;
310 
311 protected:
312   // Do not derive this.  Gio::DBus::SignalInfo can neither be constructed nor deleted.
313 
314   void operator delete(void*, std::size_t);
315 
316 private:
317 
318 
319 public:
320 
321 
322 };
323 
324 /** Stores information about a property on a D-Bus interface.
325  *
326  * @newin{2,28}
327  * @ingroup DBus
328  */
329 class GIOMM_API PropertyInfo final
330 {
331   public:
332 #ifndef DOXYGEN_SHOULD_SKIP_THIS
333   using CppObjectType = PropertyInfo;
334   using BaseObjectType = GDBusPropertyInfo;
335 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
336 
337 
338   /** Increment the reference count for this object.
339    * You should never need to do this manually - use the object via a RefPtr instead.
340    */
341   void reference()   const;
342 
343   /** Decrement the reference count for this object.
344    * You should never need to do this manually - use the object via a RefPtr instead.
345    */
346   void unreference() const;
347 
348   ///Provides access to the underlying C instance.
349   GDBusPropertyInfo*       gobj();
350 
351   ///Provides access to the underlying C instance.
352   const GDBusPropertyInfo* gobj() const;
353 
354   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
355   GDBusPropertyInfo* gobj_copy() const;
356 
357   PropertyInfo() = delete;
358 
359   // noncopyable
360   PropertyInfo(const PropertyInfo&) = delete;
361   PropertyInfo& operator=(const PropertyInfo&) = delete;
362 
363 protected:
364   // Do not derive this.  Gio::DBus::PropertyInfo can neither be constructed nor deleted.
365 
366   void operator delete(void*, std::size_t);
367 
368 private:
369 
370 
371 public:
372 
373 
374 };
375 
376 /** Stores information about a D-Bus interface.
377  *
378  * @newin{2,28}
379  * @ingroup DBus
380  */
381 class GIOMM_API InterfaceInfo final
382 {
383   public:
384 #ifndef DOXYGEN_SHOULD_SKIP_THIS
385   using CppObjectType = InterfaceInfo;
386   using BaseObjectType = GDBusInterfaceInfo;
387 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
388 
389   /** Get the GType for this class, for use with the underlying GObject type system.
390    */
391   static GType get_type() G_GNUC_CONST;
392 
393 
394   /** Increment the reference count for this object.
395    * You should never need to do this manually - use the object via a RefPtr instead.
396    */
397   void reference()   const;
398 
399   /** Decrement the reference count for this object.
400    * You should never need to do this manually - use the object via a RefPtr instead.
401    */
402   void unreference() const;
403 
404   ///Provides access to the underlying C instance.
405   GDBusInterfaceInfo*       gobj();
406 
407   ///Provides access to the underlying C instance.
408   const GDBusInterfaceInfo* gobj() const;
409 
410   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
411   GDBusInterfaceInfo* gobj_copy() const;
412 
413   InterfaceInfo() = delete;
414 
415   // noncopyable
416   InterfaceInfo(const InterfaceInfo&) = delete;
417   InterfaceInfo& operator=(const InterfaceInfo&) = delete;
418 
419 protected:
420   // Do not derive this.  Gio::DBus::InterfaceInfo can neither be constructed nor deleted.
421 
422   void operator delete(void*, std::size_t);
423 
424 private:
425 
426 
427 public:
428 
429   /** Looks up information about a method.
430    *
431    * The cost of this function is O(n) in number of methods unless
432    * g_dbus_interface_info_cache_build() has been used on @a info.
433    *
434    * @newin{2,26}
435    *
436    * @param name A D-Bus method name (typically in CamelCase).
437    * @return A DBusMethodInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
438    */
439   Glib::RefPtr<MethodInfo> lookup_method(const Glib::ustring& name);
440 
441   /** Looks up information about a method.
442    *
443    * The cost of this function is O(n) in number of methods unless
444    * g_dbus_interface_info_cache_build() has been used on @a info.
445    *
446    * @newin{2,26}
447    *
448    * @param name A D-Bus method name (typically in CamelCase).
449    * @return A DBusMethodInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
450    */
451   Glib::RefPtr<const MethodInfo> lookup_method(const Glib::ustring& name) const;
452 
453 
454   /** Looks up information about a signal.
455    *
456    * The cost of this function is O(n) in number of signals unless
457    * g_dbus_interface_info_cache_build() has been used on @a info.
458    *
459    * @newin{2,26}
460    *
461    * @param name A D-Bus signal name (typically in CamelCase).
462    * @return A DBusSignalInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
463    */
464   Glib::RefPtr<SignalInfo> lookup_signal(const Glib::ustring& name);
465 
466   /** Looks up information about a signal.
467    *
468    * The cost of this function is O(n) in number of signals unless
469    * g_dbus_interface_info_cache_build() has been used on @a info.
470    *
471    * @newin{2,26}
472    *
473    * @param name A D-Bus signal name (typically in CamelCase).
474    * @return A DBusSignalInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
475    */
476   Glib::RefPtr<const SignalInfo> lookup_signal(const Glib::ustring& name) const;
477 
478 
479   /** Looks up information about a property.
480    *
481    * The cost of this function is O(n) in number of properties unless
482    * g_dbus_interface_info_cache_build() has been used on @a info.
483    *
484    * @newin{2,26}
485    *
486    * @param name A D-Bus property name (typically in CamelCase).
487    * @return A DBusPropertyInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
488    */
489   Glib::RefPtr<PropertyInfo> lookup_property(const Glib::ustring& name);
490 
491   /** Looks up information about a property.
492    *
493    * The cost of this function is O(n) in number of properties unless
494    * g_dbus_interface_info_cache_build() has been used on @a info.
495    *
496    * @newin{2,26}
497    *
498    * @param name A D-Bus property name (typically in CamelCase).
499    * @return A DBusPropertyInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
500    */
501   Glib::RefPtr<const PropertyInfo> lookup_property(const Glib::ustring& name) const;
502 
503 
504   /** Builds a lookup-cache to speed up
505    * g_dbus_interface_info_lookup_method(),
506    * g_dbus_interface_info_lookup_signal() and
507    * g_dbus_interface_info_lookup_property().
508    *
509    * If this has already been called with @a info, the existing cache is
510    * used and its use count is increased.
511    *
512    * Note that @a info cannot be modified until
513    * g_dbus_interface_info_cache_release() is called.
514    *
515    * @newin{2,44}
516    */
517   void cache_build();
518 
519   /** Decrements the usage count for the cache for @a info built by
520    * g_dbus_interface_info_cache_build() (if any) and frees the
521    * resources used by the cache if the usage count drops to zero.
522    *
523    * @newin{2,44}
524    */
525   void cache_release();
526 
527   //TODO: _WRAP_METHOD(void generate_xml(guint indent, GString* string_builder), g_dbus_interface_info_generate_xml)
528 
529 
530 };
531 
532 /** NodeInfo - Stores information about nodes in a remote object
533  * hierarchy.
534  *
535  * @newin{2,28}
536  * @ingroup DBus
537  */
538 class GIOMM_API NodeInfo final
539 {
540   public:
541 #ifndef DOXYGEN_SHOULD_SKIP_THIS
542   using CppObjectType = NodeInfo;
543   using BaseObjectType = GDBusNodeInfo;
544 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
545 
546 
547   /** Increment the reference count for this object.
548    * You should never need to do this manually - use the object via a RefPtr instead.
549    */
550   void reference()   const;
551 
552   /** Decrement the reference count for this object.
553    * You should never need to do this manually - use the object via a RefPtr instead.
554    */
555   void unreference() const;
556 
557   ///Provides access to the underlying C instance.
558   GDBusNodeInfo*       gobj();
559 
560   ///Provides access to the underlying C instance.
561   const GDBusNodeInfo* gobj() const;
562 
563   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
564   GDBusNodeInfo* gobj_copy() const;
565 
566   NodeInfo() = delete;
567 
568   // noncopyable
569   NodeInfo(const NodeInfo&) = delete;
570   NodeInfo& operator=(const NodeInfo&) = delete;
571 
572 protected:
573   // Do not derive this.  Gio::DBus::NodeInfo can neither be constructed nor deleted.
574 
575   void operator delete(void*, std::size_t);
576 
577 private:
578 
579 
580 public:
581 
582   /** Parses @a xml_data and returns a DBusNodeInfo representing the data.
583    *
584    * The introspection XML must contain exactly one top-level
585    * <node> element.
586    *
587    * Note that this routine is using a
588    * [GMarkup][glib-Simple-XML-Subset-Parser.description]-based
589    * parser that only accepts a subset of valid XML documents.
590    *
591    * @newin{2,26}
592    *
593    * @param xml_data Valid D-Bus introspection XML.
594    * @return A DBusNodeInfo structure or <tt>nullptr</tt> if @a error is set. Free
595    * with g_dbus_node_info_unref().
596    */
597 
598 
599   /** @throw Glib::Error.
600    */
601   static Glib::RefPtr<NodeInfo> create_for_xml(const Glib::ustring& xml_data);
602 
603 
604   /** Looks up information about an interface.
605    *
606    * The cost of this function is O(n) in number of interfaces.
607    *
608    * @newin{2,26}
609    *
610    * @param name A D-Bus interface name.
611    * @return A DBusInterfaceInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
612    */
613   Glib::RefPtr<InterfaceInfo> lookup_interface(const Glib::ustring& name);
614 
615   /** Looks up information about an interface.
616    *
617    * The cost of this function is O(n) in number of interfaces.
618    *
619    * @newin{2,26}
620    *
621    * @param name A D-Bus interface name.
622    * @return A DBusInterfaceInfo or <tt>nullptr</tt> if not found. Do not free, it is owned by @a info.
623    */
624   Glib::RefPtr<const InterfaceInfo> lookup_interface(const Glib::ustring& name) const;
625 
626   /** Looks up information about the first interface.
627    */
628   Glib::RefPtr<InterfaceInfo> lookup_interface();
629 
630   /** Looks up information about the first interface.
631    */
632   Glib::RefPtr<const InterfaceInfo> lookup_interface() const;
633 
634   //TODO: _WRAP_METHOD(void generate_xml(guint indent, GString* string_builder), g_dbus_node_info_generate_xml)
635 
636 
637 };
638 
639 } //namespace DBus
640 
641 } // namespace Gio
642 
643 
644 namespace Glib
645 {
646 
647 /** A Glib::wrap() method for this object.
648  *
649  * @param object The C instance.
650  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
651  * @result A C++ instance that wraps this C instance.
652  *
653  * @relates Gio::DBus::AnnotationInfo
654  */
655 GIOMM_API
656 Glib::RefPtr<Gio::DBus::AnnotationInfo> wrap(GDBusAnnotationInfo* object, bool take_copy = false);
657 
658 } // namespace Glib
659 
660 
661 namespace Glib
662 {
663 
664 /** A Glib::wrap() method for this object.
665  *
666  * @param object The C instance.
667  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
668  * @result A C++ instance that wraps this C instance.
669  *
670  * @relates Gio::DBus::ArgInfo
671  */
672 GIOMM_API
673 Glib::RefPtr<Gio::DBus::ArgInfo> wrap(GDBusArgInfo* object, bool take_copy = false);
674 
675 } // namespace Glib
676 
677 
678 namespace Glib
679 {
680 
681 /** A Glib::wrap() method for this object.
682  *
683  * @param object The C instance.
684  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
685  * @result A C++ instance that wraps this C instance.
686  *
687  * @relates Gio::DBus::MethodInfo
688  */
689 GIOMM_API
690 Glib::RefPtr<Gio::DBus::MethodInfo> wrap(GDBusMethodInfo* object, bool take_copy = false);
691 
692 } // namespace Glib
693 
694 
695 namespace Glib
696 {
697 
698 /** A Glib::wrap() method for this object.
699  *
700  * @param object The C instance.
701  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
702  * @result A C++ instance that wraps this C instance.
703  *
704  * @relates Gio::DBus::SignalInfo
705  */
706 GIOMM_API
707 Glib::RefPtr<Gio::DBus::SignalInfo> wrap(GDBusSignalInfo* object, bool take_copy = false);
708 
709 } // namespace Glib
710 
711 
712 namespace Glib
713 {
714 
715 /** A Glib::wrap() method for this object.
716  *
717  * @param object The C instance.
718  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
719  * @result A C++ instance that wraps this C instance.
720  *
721  * @relates Gio::DBus::PropertyInfo
722  */
723 GIOMM_API
724 Glib::RefPtr<Gio::DBus::PropertyInfo> wrap(GDBusPropertyInfo* object, bool take_copy = false);
725 
726 } // namespace Glib
727 
728 
729 namespace Glib
730 {
731 
732 /** A Glib::wrap() method for this object.
733  *
734  * @param object The C instance.
735  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
736  * @result A C++ instance that wraps this C instance.
737  *
738  * @relates Gio::DBus::InterfaceInfo
739  */
740 GIOMM_API
741 Glib::RefPtr<Gio::DBus::InterfaceInfo> wrap(GDBusInterfaceInfo* object, bool take_copy = false);
742 
743 #ifndef DOXYGEN_SHOULD_SKIP_THIS
744 template <>
745 class GIOMM_API Value<Glib::RefPtr<Gio::DBus::InterfaceInfo>> : public Glib::Value_RefPtrBoxed<Gio::DBus::InterfaceInfo>
746 {
747 public:
get()748   CppType get() const { return Glib::wrap(static_cast<GDBusInterfaceInfo*>(get_boxed()), true); }
749 };
750 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
751 
752 } // namespace Glib
753 
754 
755 namespace Glib
756 {
757 
758 /** A Glib::wrap() method for this object.
759  *
760  * @param object The C instance.
761  * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
762  * @result A C++ instance that wraps this C instance.
763  *
764  * @relates Gio::DBus::NodeInfo
765  */
766 GIOMM_API
767 Glib::RefPtr<Gio::DBus::NodeInfo> wrap(GDBusNodeInfo* object, bool take_copy = false);
768 
769 } // namespace Glib
770 
771 
772 #endif /* _GIOMM_DBUSINTROSPECTION_H */
773 
774