// Generated by gmmproc 2.54.1 -- DO NOT MODIFY!
#include <glibmm.h>
#include <giomm/dbusintrospection.h>
#include <giomm/private/dbusintrospection_p.h>
/* Copyright (C) 2010 The giomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include <glibmm/error.h>
#include <glibmm/utility.h>
namespace Gio
{
namespace DBus
{
// We hand-code this because g_dbus_node_info_lookup_interface() doesn't
// do this when it takes a nullptr.
// See bug https://bugzilla.gnome.org/show_bug.cgi?id=646417
Glib::RefPtr<InterfaceInfo>
NodeInfo::lookup_interface()
{
Glib::RefPtr<InterfaceInfo> retvalue;
if (!gobj() || !(gobj()->interfaces))
return retvalue;
retvalue = Glib::wrap(gobj()->interfaces[0]);
if (retvalue)
retvalue->reference(); // The function does not do a ref for us.
return retvalue;
}
Glib::RefPtr<const InterfaceInfo>
NodeInfo::lookup_interface() const
{
return const_cast<NodeInfo*>(this)->lookup_interface();
}
} // namespace DBus
} // namespace Gio
namespace
{
} // anonymous namespace
/* Why reinterpret_cast<AnnotationInfo*>(gobject) is needed:
*
* A AnnotationInfo instance is in fact always a GDBusAnnotationInfo instance.
* Unfortunately, GDBusAnnotationInfo cannot be a member of AnnotationInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because AnnotationInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::AnnotationInfo> wrap(GDBusAnnotationInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_annotation_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::AnnotationInfo>(reinterpret_cast<Gio::DBus::AnnotationInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void AnnotationInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_annotation_info_ref(reinterpret_cast<GDBusAnnotationInfo*>(const_cast<AnnotationInfo*>(this)));
}
void AnnotationInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_annotation_info_unref(reinterpret_cast<GDBusAnnotationInfo*>(const_cast<AnnotationInfo*>(this)));
}
GDBusAnnotationInfo* AnnotationInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusAnnotationInfo*>(this);
}
const GDBusAnnotationInfo* AnnotationInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusAnnotationInfo*>(this);
}
GDBusAnnotationInfo* AnnotationInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusAnnotationInfo*>(const_cast<AnnotationInfo*>(this));
g_dbus_annotation_info_ref(gobject);
return gobject;
}
Glib::ustring AnnotationInfo::info_lookup(const Glib::ArrayHandle< Glib::RefPtr<AnnotationInfo> >& annotations, const Glib::ustring& name)
{
return Glib::convert_const_gchar_ptr_to_ustring(g_dbus_annotation_info_lookup(const_cast<GDBusAnnotationInfo**>(annotations.data()), name.c_str()));
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<ArgInfo*>(gobject) is needed:
*
* A ArgInfo instance is in fact always a GDBusArgInfo instance.
* Unfortunately, GDBusArgInfo cannot be a member of ArgInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because ArgInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::ArgInfo> wrap(GDBusArgInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_arg_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::ArgInfo>(reinterpret_cast<Gio::DBus::ArgInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void ArgInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_arg_info_ref(reinterpret_cast<GDBusArgInfo*>(const_cast<ArgInfo*>(this)));
}
void ArgInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_arg_info_unref(reinterpret_cast<GDBusArgInfo*>(const_cast<ArgInfo*>(this)));
}
GDBusArgInfo* ArgInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusArgInfo*>(this);
}
const GDBusArgInfo* ArgInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusArgInfo*>(this);
}
GDBusArgInfo* ArgInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusArgInfo*>(const_cast<ArgInfo*>(this));
g_dbus_arg_info_ref(gobject);
return gobject;
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<MethodInfo*>(gobject) is needed:
*
* A MethodInfo instance is in fact always a GDBusMethodInfo instance.
* Unfortunately, GDBusMethodInfo cannot be a member of MethodInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because MethodInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::MethodInfo> wrap(GDBusMethodInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_method_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::MethodInfo>(reinterpret_cast<Gio::DBus::MethodInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void MethodInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_method_info_ref(reinterpret_cast<GDBusMethodInfo*>(const_cast<MethodInfo*>(this)));
}
void MethodInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_method_info_unref(reinterpret_cast<GDBusMethodInfo*>(const_cast<MethodInfo*>(this)));
}
GDBusMethodInfo* MethodInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusMethodInfo*>(this);
}
const GDBusMethodInfo* MethodInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusMethodInfo*>(this);
}
GDBusMethodInfo* MethodInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusMethodInfo*>(const_cast<MethodInfo*>(this));
g_dbus_method_info_ref(gobject);
return gobject;
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<SignalInfo*>(gobject) is needed:
*
* A SignalInfo instance is in fact always a GDBusSignalInfo instance.
* Unfortunately, GDBusSignalInfo cannot be a member of SignalInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because SignalInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::SignalInfo> wrap(GDBusSignalInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_signal_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::SignalInfo>(reinterpret_cast<Gio::DBus::SignalInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void SignalInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_signal_info_ref(reinterpret_cast<GDBusSignalInfo*>(const_cast<SignalInfo*>(this)));
}
void SignalInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_signal_info_unref(reinterpret_cast<GDBusSignalInfo*>(const_cast<SignalInfo*>(this)));
}
GDBusSignalInfo* SignalInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusSignalInfo*>(this);
}
const GDBusSignalInfo* SignalInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusSignalInfo*>(this);
}
GDBusSignalInfo* SignalInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusSignalInfo*>(const_cast<SignalInfo*>(this));
g_dbus_signal_info_ref(gobject);
return gobject;
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<PropertyInfo*>(gobject) is needed:
*
* A PropertyInfo instance is in fact always a GDBusPropertyInfo instance.
* Unfortunately, GDBusPropertyInfo cannot be a member of PropertyInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because PropertyInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::PropertyInfo> wrap(GDBusPropertyInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_property_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::PropertyInfo>(reinterpret_cast<Gio::DBus::PropertyInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void PropertyInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_property_info_ref(reinterpret_cast<GDBusPropertyInfo*>(const_cast<PropertyInfo*>(this)));
}
void PropertyInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_property_info_unref(reinterpret_cast<GDBusPropertyInfo*>(const_cast<PropertyInfo*>(this)));
}
GDBusPropertyInfo* PropertyInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusPropertyInfo*>(this);
}
const GDBusPropertyInfo* PropertyInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusPropertyInfo*>(this);
}
GDBusPropertyInfo* PropertyInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusPropertyInfo*>(const_cast<PropertyInfo*>(this));
g_dbus_property_info_ref(gobject);
return gobject;
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<InterfaceInfo*>(gobject) is needed:
*
* A InterfaceInfo instance is in fact always a GDBusInterfaceInfo instance.
* Unfortunately, GDBusInterfaceInfo cannot be a member of InterfaceInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because InterfaceInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::InterfaceInfo> wrap(GDBusInterfaceInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_interface_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::InterfaceInfo>(reinterpret_cast<Gio::DBus::InterfaceInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void InterfaceInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_interface_info_ref(reinterpret_cast<GDBusInterfaceInfo*>(const_cast<InterfaceInfo*>(this)));
}
void InterfaceInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_interface_info_unref(reinterpret_cast<GDBusInterfaceInfo*>(const_cast<InterfaceInfo*>(this)));
}
GDBusInterfaceInfo* InterfaceInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusInterfaceInfo*>(this);
}
const GDBusInterfaceInfo* InterfaceInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusInterfaceInfo*>(this);
}
GDBusInterfaceInfo* InterfaceInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusInterfaceInfo*>(const_cast<InterfaceInfo*>(this));
g_dbus_interface_info_ref(gobject);
return gobject;
}
Glib::RefPtr<MethodInfo> InterfaceInfo::lookup_method(const Glib::ustring& name)
{
Glib::RefPtr<MethodInfo> retvalue = Glib::wrap(g_dbus_interface_info_lookup_method(gobj(), name.c_str()));
if(retvalue)
retvalue->reference(); //The function does not do a ref for us.
return retvalue;
}
Glib::RefPtr<const MethodInfo> InterfaceInfo::lookup_method(const Glib::ustring& name) const
{
return const_cast<InterfaceInfo*>(this)->lookup_method(name);
}
Glib::RefPtr<SignalInfo> InterfaceInfo::lookup_signal(const Glib::ustring& name)
{
Glib::RefPtr<SignalInfo> retvalue = Glib::wrap(g_dbus_interface_info_lookup_signal(gobj(), name.c_str()));
if(retvalue)
retvalue->reference(); //The function does not do a ref for us.
return retvalue;
}
Glib::RefPtr<const SignalInfo> InterfaceInfo::lookup_signal(const Glib::ustring& name) const
{
return const_cast<InterfaceInfo*>(this)->lookup_signal(name);
}
Glib::RefPtr<PropertyInfo> InterfaceInfo::lookup_property(const Glib::ustring& name)
{
Glib::RefPtr<PropertyInfo> retvalue = Glib::wrap(g_dbus_interface_info_lookup_property(gobj(), name.c_str()));
if(retvalue)
retvalue->reference(); //The function does not do a ref for us.
return retvalue;
}
Glib::RefPtr<const PropertyInfo> InterfaceInfo::lookup_property(const Glib::ustring& name) const
{
return const_cast<InterfaceInfo*>(this)->lookup_property(name);
}
void InterfaceInfo::cache_build()
{
g_dbus_interface_info_cache_build(gobj());
}
void InterfaceInfo::cache_release()
{
g_dbus_interface_info_cache_release(gobj());
}
} // namespace DBus
} // namespace Gio
/* Why reinterpret_cast<NodeInfo*>(gobject) is needed:
*
* A NodeInfo instance is in fact always a GDBusNodeInfo instance.
* Unfortunately, GDBusNodeInfo cannot be a member of NodeInfo,
* because it is an opaque struct. Also, the C interface does not provide
* any hooks to install a destroy notification handler, thus we cannot
* wrap it dynamically either.
*
* The cast works because NodeInfo does not have any member data, and
* it is impossible to derive from it. This is ensured by using final on the
* class and by using = delete on the default constructor.
*/
namespace Glib
{
Glib::RefPtr<Gio::DBus::NodeInfo> wrap(GDBusNodeInfo* object, bool take_copy)
{
if(take_copy && object)
g_dbus_node_info_ref(object);
// See the comment at the top of this file, if you want to know why the cast works.
return Glib::RefPtr<Gio::DBus::NodeInfo>(reinterpret_cast<Gio::DBus::NodeInfo*>(object));
}
} // namespace Glib
namespace Gio
{
namespace DBus
{
void NodeInfo::reference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_node_info_ref(reinterpret_cast<GDBusNodeInfo*>(const_cast<NodeInfo*>(this)));
}
void NodeInfo::unreference() const
{
// See the comment at the top of this file, if you want to know why the cast works.
g_dbus_node_info_unref(reinterpret_cast<GDBusNodeInfo*>(const_cast<NodeInfo*>(this)));
}
GDBusNodeInfo* NodeInfo::gobj()
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<GDBusNodeInfo*>(this);
}
const GDBusNodeInfo* NodeInfo::gobj() const
{
// See the comment at the top of this file, if you want to know why the cast works.
return reinterpret_cast<const GDBusNodeInfo*>(this);
}
GDBusNodeInfo* NodeInfo::gobj_copy() const
{
// See the comment at the top of this file, if you want to know why the cast works.
const auto gobject = reinterpret_cast<GDBusNodeInfo*>(const_cast<NodeInfo*>(this));
g_dbus_node_info_ref(gobject);
return gobject;
}
Glib::RefPtr<NodeInfo> NodeInfo::create_for_xml(const Glib::ustring& xml_data)
{
GError* gerror = nullptr;
Glib::RefPtr<NodeInfo> retvalue = Glib::wrap(g_dbus_node_info_new_for_xml(xml_data.c_str(), &(gerror)));
if(gerror)
::Glib::Error::throw_exception(gerror);
return retvalue;
}
Glib::RefPtr<InterfaceInfo> NodeInfo::lookup_interface(const Glib::ustring& name)
{
Glib::RefPtr<InterfaceInfo> retvalue = Glib::wrap(g_dbus_node_info_lookup_interface(gobj(), name.c_str()));
if(retvalue)
retvalue->reference(); //The function does not do a ref for us.
return retvalue;
}
Glib::RefPtr<const InterfaceInfo> NodeInfo::lookup_interface(const Glib::ustring& name) const
{
return const_cast<NodeInfo*>(this)->lookup_interface(name);
}
} // namespace DBus
} // namespace Gio