glib (2.79.0)
       1  /* GDBus - GLib D-Bus Library
       2   *
       3   * Copyright (C) 2008-2010 Red Hat, Inc.
       4   *
       5   * SPDX-License-Identifier: LGPL-2.1-or-later
       6   *
       7   * This library is free software; you can redistribute it and/or
       8   * modify it under the terms of the GNU Lesser General Public
       9   * License as published by the Free Software Foundation; either
      10   * version 2.1 of the License, or (at your option) any later version.
      11   *
      12   * This library is distributed in the hope that it will be useful,
      13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
      14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      15   * Lesser General Public License for more details.
      16   *
      17   * You should have received a copy of the GNU Lesser General
      18   * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
      19   *
      20   * Author: David Zeuthen <davidz@redhat.com>
      21   */
      22  
      23  #ifndef __G_DBUS_OBJECT_SKELETON_H__
      24  #define __G_DBUS_OBJECT_SKELETON_H__
      25  
      26  #include <gio/giotypes.h>
      27  
      28  G_BEGIN_DECLS
      29  
      30  #define G_TYPE_DBUS_OBJECT_SKELETON         (g_dbus_object_skeleton_get_type ())
      31  #define G_DBUS_OBJECT_SKELETON(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeleton))
      32  #define G_DBUS_OBJECT_SKELETON_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass))
      33  #define G_DBUS_OBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_DBUS_OBJECT_SKELETON, GDBusObjectSkeletonClass))
      34  #define G_IS_DBUS_OBJECT_SKELETON(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_DBUS_OBJECT_SKELETON))
      35  #define G_IS_DBUS_OBJECT_SKELETON_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_DBUS_OBJECT_SKELETON))
      36  
      37  typedef struct _GDBusObjectSkeletonClass   GDBusObjectSkeletonClass;
      38  typedef struct _GDBusObjectSkeletonPrivate GDBusObjectSkeletonPrivate;
      39  
      40  struct _GDBusObjectSkeleton
      41  {
      42    /*< private >*/
      43    GObject parent_instance;
      44    GDBusObjectSkeletonPrivate *priv;
      45  };
      46  
      47  /**
      48   * GDBusObjectSkeletonClass:
      49   * @parent_class: The parent class.
      50   * @authorize_method: Signal class handler for the #GDBusObjectSkeleton::authorize-method signal.
      51   *
      52   * Class structure for #GDBusObjectSkeleton.
      53   *
      54   * Since: 2.30
      55   */
      56  struct _GDBusObjectSkeletonClass
      57  {
      58    GObjectClass parent_class;
      59  
      60    /* Signals */
      61    gboolean (*authorize_method) (GDBusObjectSkeleton       *object,
      62                                  GDBusInterfaceSkeleton    *interface_,
      63                                  GDBusMethodInvocation *invocation);
      64  
      65    /*< private >*/
      66    gpointer padding[8];
      67  };
      68  
      69  GIO_AVAILABLE_IN_ALL
      70  GType                g_dbus_object_skeleton_get_type                  (void) G_GNUC_CONST;
      71  GIO_AVAILABLE_IN_ALL
      72  GDBusObjectSkeleton *g_dbus_object_skeleton_new                       (const gchar            *object_path);
      73  GIO_AVAILABLE_IN_ALL
      74  void                 g_dbus_object_skeleton_flush                     (GDBusObjectSkeleton    *object);
      75  GIO_AVAILABLE_IN_ALL
      76  void                 g_dbus_object_skeleton_add_interface             (GDBusObjectSkeleton    *object,
      77                                                                         GDBusInterfaceSkeleton *interface_);
      78  GIO_AVAILABLE_IN_ALL
      79  void                 g_dbus_object_skeleton_remove_interface          (GDBusObjectSkeleton    *object,
      80                                                                         GDBusInterfaceSkeleton *interface_);
      81  GIO_AVAILABLE_IN_ALL
      82  void                 g_dbus_object_skeleton_remove_interface_by_name  (GDBusObjectSkeleton    *object,
      83                                                                         const gchar            *interface_name);
      84  GIO_AVAILABLE_IN_ALL
      85  void                 g_dbus_object_skeleton_set_object_path           (GDBusObjectSkeleton    *object,
      86                                                                         const gchar            *object_path);
      87  
      88  G_END_DECLS
      89  
      90  #endif /* __G_DBUS_OBJECT_SKELETON_H */