// Generated by gmmproc 2.66.3 -- DO NOT MODIFY! #ifndef _GIOMM_DBUSOBJECTSKELETON_H #define _GIOMM_DBUSOBJECTSKELETON_H #include #include /* Copyright (C) 2019 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 . */ #include #include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS using GDBusObjectSkeleton = struct _GDBusObjectSkeleton; using GDBusObjectSkeletonClass = struct _GDBusObjectSkeletonClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gio { namespace DBus { class GIOMM_API ObjectSkeleton_Class; } // namespace DBus } // namespace Gio #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gio { namespace DBus { //The GMMPROC_EXTRA_NAMESPACE() macro is a hint to generate_wrap_init.pl to put it in the DBus sub-namespace /** Service-side D-Bus object. * * A %Gio::DBus::ObjectSkeleton instance is essentially a group of D-Bus * interfaces. The set of exported interfaces on the object may be * dynamic and change at runtime. * * This type is intended to be used with Gio::DBus::ObjectManager. * * @newin{2,62} * @ingroup DBus */ class GIOMM_API ObjectSkeleton : public Glib::Object, public Object { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: using CppObjectType = ObjectSkeleton; using CppClassType = ObjectSkeleton_Class; using BaseObjectType = GDBusObjectSkeleton; using BaseClassType = GDBusObjectSkeletonClass; // noncopyable ObjectSkeleton(const ObjectSkeleton&) = delete; ObjectSkeleton& operator=(const ObjectSkeleton&) = delete; private: friend class ObjectSkeleton_Class; static CppClassType objectskeleton_class_; protected: explicit ObjectSkeleton(const Glib::ConstructParams& construct_params); explicit ObjectSkeleton(GDBusObjectSkeleton* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: ObjectSkeleton(ObjectSkeleton&& src) noexcept; ObjectSkeleton& operator=(ObjectSkeleton&& src) noexcept; ~ObjectSkeleton() noexcept override; /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GDBusObjectSkeleton* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GDBusObjectSkeleton* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GDBusObjectSkeleton* gobj_copy(); private: protected: explicit ObjectSkeleton(const Glib::ustring& object_path); public: /** Creates a new %Gio::DBus::ObjectSkeleton. * * @param object_path An object path. * @return A new %Gio::DBus::ObjectSkeleton. */ static Glib::RefPtr create(const Glib::ustring& object_path); // The parameter name 'interface' can cause compilation errors with MinGW. // See https://bugzilla.gnome.org/show_bug.cgi?id=735137 // The parameter names in glib are 'interface_' and 'interface'. /** This method simply calls g_dbus_interface_skeleton_flush() on all * interfaces belonging to @a object. See that method for when flushing * is useful. * * @newin{2,30} */ void flush(); /** Adds @a iface to @a object. * * If @a object already contains a DBusInterfaceSkeleton with the same * interface name, it is removed before @a iface is added. * * Note that @a object takes its own reference on @a iface and holds * it until removed. * * @newin{2,30} * * @param iface A DBusInterfaceSkeleton. */ void add_interface(const Glib::RefPtr& iface); /** Removes @a iface from @a object. * * @newin{2,30} * * @param iface A DBusInterfaceSkeleton. */ void remove_interface(const Glib::RefPtr& iface); /** Removes the DBusInterface with @a interface_name from @a object. * * If no D-Bus interface of the given interface exists, this function * does nothing. * * @newin{2,30} * * @param interface_name A D-Bus interface name. */ void remove_interface(const Glib::ustring& interface_name); /** Sets the object path for @a object. * * @newin{2,30} * * @param object_path A valid D-Bus object path. */ void set_object_path(const Glib::ustring& object_path); /** The object path where the object is exported. * * @newin{2,30} * * Default value: "" * * @return A PropertyProxy that allows you to get or set the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy< Glib::ustring > property_g_object_path() ; /** The object path where the object is exported. * * @newin{2,30} * * Default value: "" * * @return A PropertyProxy_ReadOnly that allows you to get the value of the property, * or receive notification when the value of the property changes. */ Glib::PropertyProxy_ReadOnly< Glib::ustring > property_g_object_path() const; /** * @par Slot Prototype: * bool on_my_%authorize_method(const Glib::RefPtr& iface, const Glib::RefPtr& invocation) * * Flags: Run Last * * Emitted when a method is invoked by a remote caller and used to * determine if the method call is authorized. * * This signal is like DBusInterfaceSkeleton's * DBusInterfaceSkeleton::signal_g_authorize_method() signal, * except that it is for the enclosing object. * * The default class handler just returns true. * * @newin{2,30} * * @param iface The DBusInterfaceSkeleton that @a invocation is for. * @param invocation A DBusMethodInvocation. * @return true if the call is authorized, false otherwise. */ Glib::SignalProxy< bool,const Glib::RefPtr&,const Glib::RefPtr& > signal_authorize_method(); public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: /// This is a default handler for the signal signal_authorize_method(). virtual bool on_authorize_method(const Glib::RefPtr& iface, const Glib::RefPtr& invocation); }; } //namespace } // namespace Gio namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref. * @result A C++ instance that wraps this C instance. * * @relates Gio::DBus::ObjectSkeleton */ GIOMM_API Glib::RefPtr wrap(GDBusObjectSkeleton* object, bool take_copy = false); } #endif /* _GIOMM_DBUSOBJECTSKELETON_H */