diff options
| author | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2021-02-11 18:11:46 +0100 |
| commit | 80ec1decc49c72efec2a8b87c06245c92c0ab807 (patch) | |
| tree | e3b229aa94e8dcf0590f2317664176e7b8f7607b /src/nm-dbus-utils.h | |
| parent | 65f86e8f56267192d42f2b629fc6b0c99fb9cd0c (diff) | |
New upstream version 1.29.90 upstream/1.29.90
Diffstat (limited to 'src/nm-dbus-utils.h')
| -rw-r--r-- | src/nm-dbus-utils.h | 226 |
1 files changed, 0 insertions, 226 deletions
diff --git a/src/nm-dbus-utils.h b/src/nm-dbus-utils.h deleted file mode 100644 index 48177973..00000000 --- a/src/nm-dbus-utils.h +++ /dev/null @@ -1,226 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2018 Red Hat, Inc. - */ - -#ifndef __NM_DBUS_UTILS_H__ -#define __NM_DBUS_UTILS_H__ - -/*****************************************************************************/ - -struct _NMDBusInterfaceInfoExtended; -struct _NMDBusMethodInfoExtended; - -struct _NMDBusPropertyInfoExtendedBase { - GDBusPropertyInfo _parent; - const char * property_name; - - /* Whether the properties needs to be notified on the legacy - * PropertyChanged signal. This is only to preserve API, new - * properties should not use this. */ - bool include_in_legacy_property_changed; -}; - -struct _NMDBusPropertyInfoExtendedReadWritable { - struct _NMDBusPropertyInfoExtendedBase _base; - - /* this is the polkit permission type for authenticating setting - * the property. */ - const char *permission; - - /* this is the audit operation type for writing the property. */ - const char *audit_op; -}; - -typedef struct { - union { - GDBusPropertyInfo _parent; - struct _NMDBusPropertyInfoExtendedBase _base; - struct _NMDBusPropertyInfoExtendedReadWritable writable; - - /* duplicate the base structure in the union, so that the common fields - * are accessible directly in the parent struct. */ - struct { - GDBusPropertyInfo parent; - const char * property_name; - - /* Whether the properties needs to be notified on the legacy - * PropertyChanged signal. This is only to preserve API, new - * properties should not use this. */ - bool include_in_legacy_property_changed; - }; - }; -} NMDBusPropertyInfoExtended; - -G_STATIC_ASSERT(G_STRUCT_OFFSET(NMDBusPropertyInfoExtended, property_name) - == G_STRUCT_OFFSET(struct _NMDBusPropertyInfoExtendedBase, property_name)); -G_STATIC_ASSERT(G_STRUCT_OFFSET(NMDBusPropertyInfoExtended, include_in_legacy_property_changed) - == G_STRUCT_OFFSET(struct _NMDBusPropertyInfoExtendedBase, - include_in_legacy_property_changed)); - -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_FULL(m_name, \ - m_signature, \ - m_property_name, \ - m_include_in_legacy_property_changed) \ - ((GDBusPropertyInfo *) &((const struct _NMDBusPropertyInfoExtendedBase){ \ - ._parent = \ - { \ - .ref_count = -1, \ - .name = m_name, \ - .signature = m_signature, \ - .flags = G_DBUS_PROPERTY_INFO_FLAGS_READABLE, \ - }, \ - .property_name = m_property_name, \ - .include_in_legacy_property_changed = m_include_in_legacy_property_changed, \ - })) - -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE(m_name, m_signature, m_property_name) \ - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_FULL(m_name, m_signature, m_property_name, FALSE) - -/* define a legacy property. Do not use for new code. */ -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L(m_name, m_signature, m_property_name) \ - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_FULL(m_name, m_signature, m_property_name, TRUE) - -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READWRITABLE_FULL( \ - m_name, \ - m_signature, \ - m_property_name, \ - m_permission, \ - m_audit_op, \ - m_include_in_legacy_property_changed) \ - ((GDBusPropertyInfo *) &((const struct _NMDBusPropertyInfoExtendedReadWritable){ \ - ._base = \ - { \ - ._parent = \ - { \ - .ref_count = -1, \ - .name = m_name, \ - .signature = m_signature, \ - .flags = G_DBUS_PROPERTY_INFO_FLAGS_READABLE \ - | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE, \ - }, \ - .property_name = m_property_name, \ - .include_in_legacy_property_changed = m_include_in_legacy_property_changed, \ - }, \ - .permission = m_permission, \ - .audit_op = m_audit_op, \ - })) - -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READWRITABLE(m_name, \ - m_signature, \ - m_property_name, \ - m_permission, \ - m_audit_op) \ - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READWRITABLE_FULL(m_name, \ - m_signature, \ - m_property_name, \ - m_permission, \ - m_audit_op, \ - FALSE) - -/* define a legacy property. Do not use for new code. */ -#define NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READWRITABLE_L(m_name, \ - m_signature, \ - m_property_name, \ - m_permission, \ - m_audit_op) \ - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READWRITABLE_FULL(m_name, \ - m_signature, \ - m_property_name, \ - m_permission, \ - m_audit_op, \ - TRUE) - -typedef struct _NMDBusMethodInfoExtended { - GDBusMethodInfo parent; - void (*handle)(NMDBusObject * obj, - const struct _NMDBusInterfaceInfoExtended *interface_info, - const struct _NMDBusMethodInfoExtended * method_info, - GDBusConnection * connection, - const char * sender, - GDBusMethodInvocation * invocation, - GVariant * parameters); - bool allow_during_shutdown; -} NMDBusMethodInfoExtended; - -#define NM_DEFINE_DBUS_METHOD_INFO_EXTENDED(parent_, ...) \ - ((GDBusMethodInfo *) (&((const NMDBusMethodInfoExtended){.parent = parent_, __VA_ARGS__}))) - -typedef struct _NMDBusInterfaceInfoExtended { - GDBusInterfaceInfo parent; - - /* Whether the interface has a legacy property changed signal (@nm_signal_info_property_changed_legacy). - * New interfaces should not use this. */ - bool legacy_property_changed : 1; -} NMDBusInterfaceInfoExtended; - -extern const GDBusSignalInfo nm_signal_info_property_changed_legacy; - -#define NM_DBUS_INTERFACE_INFOS(...) \ - ({ \ - static const NMDBusInterfaceInfoExtended *const _interface_infos[] = { \ - __VA_ARGS__, \ - NULL, \ - }; \ - _interface_infos; \ - }); - -/*****************************************************************************/ - -GDBusPropertyInfo * -nm_dbus_utils_interface_info_lookup_property(const GDBusInterfaceInfo *interface_info, - const char * property_name, - guint * property_idx); - -GDBusMethodInfo * -nm_dbus_utils_interface_info_lookup_method(const GDBusInterfaceInfo *interface_info, - const char * method_name); - -GVariant * -nm_dbus_utils_get_property(GObject *obj, const char *signature, const char *property_name); - -/*****************************************************************************/ - -struct CList; - -const char **nm_dbus_utils_get_paths_for_clist(const struct CList *lst_head, - gssize lst_len, - guint member_offset, - gboolean expect_all_exported); - -void nm_dbus_utils_g_value_set_object_path(GValue *value, gpointer object); - -void nm_dbus_utils_g_value_set_object_path_still_exported(GValue *value, gpointer object); - -void nm_dbus_utils_g_value_set_object_path_from_hash(GValue * value, - GHashTable *hash, - gboolean expect_all_exported); - -/*****************************************************************************/ - -typedef struct { - union { - gpointer const obj; - gpointer _obj; - }; - GObject * _notify_target; - const GParamSpec *_notify_pspec; - gulong _notify_signal_id; - union { - const bool visible; - bool _visible; - }; -} NMDBusTrackObjPath; - -void -nm_dbus_track_obj_path_init(NMDBusTrackObjPath *track, GObject *target, const GParamSpec *pspec); - -void nm_dbus_track_obj_path_deinit(NMDBusTrackObjPath *track); - -void nm_dbus_track_obj_path_notify(const NMDBusTrackObjPath *track); - -const char *nm_dbus_track_obj_path_get(const NMDBusTrackObjPath *track); - -void nm_dbus_track_obj_path_set(NMDBusTrackObjPath *track, gpointer obj, gboolean visible); - -#endif /* __NM_DBUS_UTILS_H__ */ |