gudevenumerator.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /* -*- Mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*-
  2. *
  3. * Copyright (C) 2008-2010 David Zeuthen <davidz@redhat.com>
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Library General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Library General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Library General Public
  16. * License along with this library; if not, write to the Free Software
  17. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  18. */
  19. #if !defined (_GUDEV_COMPILATION) && !defined(_GUDEV_INSIDE_GUDEV_H)
  20. #error "Only <gudev/gudev.h> can be included directly, this file may disappear or change contents."
  21. #endif
  22. #ifndef __G_UDEV_ENUMERATOR_H__
  23. #define __G_UDEV_ENUMERATOR_H__
  24. #include <gudev/gudevtypes.h>
  25. G_BEGIN_DECLS
  26. #define G_UDEV_TYPE_ENUMERATOR (g_udev_enumerator_get_type ())
  27. #define G_UDEV_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_UDEV_TYPE_ENUMERATOR, GUdevEnumerator))
  28. #define G_UDEV_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_UDEV_TYPE_ENUMERATOR, GUdevEnumeratorClass))
  29. #define G_UDEV_IS_ENUMERATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_UDEV_TYPE_ENUMERATOR))
  30. #define G_UDEV_IS_ENUMERATOR_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_UDEV_TYPE_ENUMERATOR))
  31. #define G_UDEV_ENUMERATOR_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_UDEV_TYPE_ENUMERATOR, GUdevEnumeratorClass))
  32. typedef struct _GUdevEnumeratorClass GUdevEnumeratorClass;
  33. typedef struct _GUdevEnumeratorPrivate GUdevEnumeratorPrivate;
  34. /**
  35. * GUdevEnumerator:
  36. *
  37. * The #GUdevEnumerator struct is opaque and should not be accessed directly.
  38. *
  39. * Since: 165
  40. */
  41. struct _GUdevEnumerator
  42. {
  43. GObject parent;
  44. /*< private >*/
  45. GUdevEnumeratorPrivate *priv;
  46. };
  47. /**
  48. * GUdevEnumeratorClass:
  49. * @parent_class: Parent class.
  50. *
  51. * Class structure for #GUdevEnumerator.
  52. *
  53. * Since: 165
  54. */
  55. struct _GUdevEnumeratorClass
  56. {
  57. GObjectClass parent_class;
  58. /*< private >*/
  59. /* Padding for future expansion */
  60. void (*reserved1) (void);
  61. void (*reserved2) (void);
  62. void (*reserved3) (void);
  63. void (*reserved4) (void);
  64. void (*reserved5) (void);
  65. void (*reserved6) (void);
  66. void (*reserved7) (void);
  67. void (*reserved8) (void);
  68. };
  69. GType g_udev_enumerator_get_type (void) G_GNUC_CONST;
  70. GUdevEnumerator *g_udev_enumerator_new (GUdevClient *client);
  71. GUdevEnumerator *g_udev_enumerator_add_match_subsystem (GUdevEnumerator *enumerator,
  72. const gchar *subsystem);
  73. GUdevEnumerator *g_udev_enumerator_add_nomatch_subsystem (GUdevEnumerator *enumerator,
  74. const gchar *subsystem);
  75. GUdevEnumerator *g_udev_enumerator_add_match_sysfs_attr (GUdevEnumerator *enumerator,
  76. const gchar *name,
  77. const gchar *value);
  78. GUdevEnumerator *g_udev_enumerator_add_nomatch_sysfs_attr (GUdevEnumerator *enumerator,
  79. const gchar *name,
  80. const gchar *value);
  81. GUdevEnumerator *g_udev_enumerator_add_match_property (GUdevEnumerator *enumerator,
  82. const gchar *name,
  83. const gchar *value);
  84. GUdevEnumerator *g_udev_enumerator_add_match_name (GUdevEnumerator *enumerator,
  85. const gchar *name);
  86. GUdevEnumerator *g_udev_enumerator_add_match_tag (GUdevEnumerator *enumerator,
  87. const gchar *tag);
  88. GUdevEnumerator *g_udev_enumerator_add_match_is_initialized (GUdevEnumerator *enumerator);
  89. GUdevEnumerator *g_udev_enumerator_add_sysfs_path (GUdevEnumerator *enumerator,
  90. const gchar *sysfs_path);
  91. GList *g_udev_enumerator_execute (GUdevEnumerator *enumerator);
  92. G_END_DECLS
  93. #endif /* __G_UDEV_ENUMERATOR_H__ */