diff options
Diffstat (limited to 'src/freebsd/up-acpi-native.c')
-rw-r--r-- | src/freebsd/up-acpi-native.c | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/src/freebsd/up-acpi-native.c b/src/freebsd/up-acpi-native.c new file mode 100644 index 0000000..c6b4968 --- /dev/null +++ b/src/freebsd/up-acpi-native.c @@ -0,0 +1,231 @@ +/* dkp-acpi-native.c generated by valac, the Vala compiler + * generated from dkp-acpi-native.vala, do not modify */ + + +#include <glib.h> +#include <glib-object.h> +#include <stdlib.h> +#include <string.h> + + +#define TYPE_DKP_ACPI_NATIVE (dkp_acpi_native_get_type ()) +#define DKP_ACPI_NATIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DKP_ACPI_NATIVE, DkpAcpiNative)) +#define DKP_ACPI_NATIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DKP_ACPI_NATIVE, DkpAcpiNativeClass)) +#define IS_DKP_ACPI_NATIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DKP_ACPI_NATIVE)) +#define IS_DKP_ACPI_NATIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DKP_ACPI_NATIVE)) +#define DKP_ACPI_NATIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DKP_ACPI_NATIVE, DkpAcpiNativeClass)) + +typedef struct _DkpAcpiNative DkpAcpiNative; +typedef struct _DkpAcpiNativeClass DkpAcpiNativeClass; +typedef struct _DkpAcpiNativePrivate DkpAcpiNativePrivate; +#define _g_free0(var) (var = (g_free (var), NULL)) +#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) +#define _g_match_info_free0(var) ((var == NULL) ? NULL : (var = (g_match_info_free (var), NULL))) +#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) + +struct _DkpAcpiNative { + GObject parent_instance; + DkpAcpiNativePrivate * priv; +}; + +struct _DkpAcpiNativeClass { + GObjectClass parent_class; +}; + +struct _DkpAcpiNativePrivate { + gchar *_driver; + gint _unit; + gchar *_path; +}; + + +static gpointer dkp_acpi_native_parent_class = NULL; + +GType dkp_acpi_native_get_type (void); +#define DKP_ACPI_NATIVE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_DKP_ACPI_NATIVE, DkpAcpiNativePrivate)) +enum { + DKP_ACPI_NATIVE_DUMMY_PROPERTY, + DKP_ACPI_NATIVE_DRIVER, + DKP_ACPI_NATIVE_UNIT, + DKP_ACPI_NATIVE_PATH +}; +DkpAcpiNative* dkp_acpi_native_new (const char* path); +DkpAcpiNative* dkp_acpi_native_construct (GType object_type, const char* path); +DkpAcpiNative* dkp_acpi_native_new_driver_unit (const char* driver, gint unit); +DkpAcpiNative* dkp_acpi_native_construct_driver_unit (GType object_type, const char* driver, gint unit); +const char* dkp_acpi_native_get_driver (DkpAcpiNative* self); +gint dkp_acpi_native_get_unit (DkpAcpiNative* self); +const char* dkp_acpi_native_get_path (DkpAcpiNative* self); +static void dkp_acpi_native_finalize (GObject* obj); +static void dkp_acpi_native_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); + + + +DkpAcpiNative* dkp_acpi_native_construct (GType object_type, const char* path) { + GError * _inner_error_; + DkpAcpiNative * self; + GRegex* r; + GMatchInfo* mi; + gboolean ret = FALSE; + char* _tmp9_; + g_return_val_if_fail (path != NULL, NULL); + _inner_error_ = NULL; + self = (DkpAcpiNative*) g_object_new (object_type, NULL); + r = NULL; + mi = NULL; + { + GRegex* _tmp0_; + GRegex* _tmp1_; + GMatchInfo* _tmp4_; + gboolean _tmp3_; + GMatchInfo* _tmp2_ = NULL; + _tmp0_ = g_regex_new ("dev\\.([^\\.])\\.(\\d+)", 0, 0, &_inner_error_); + if (_inner_error_ != NULL) { + if (_inner_error_->domain == G_REGEX_ERROR) { + goto __catch0_g_regex_error; + } + goto __finally0; + } + r = (_tmp1_ = _tmp0_, _g_regex_unref0 (r), _tmp1_); + ret = (_tmp3_ = g_regex_match (r, path, 0, &_tmp2_), mi = (_tmp4_ = _tmp2_, _g_match_info_free0 (mi), _tmp4_), _tmp3_); + if (ret) { + char* _tmp5_; + char* _tmp6_; + self->priv->_driver = (_tmp5_ = g_match_info_fetch (mi, 1), _g_free0 (self->priv->_driver), _tmp5_); + self->priv->_unit = atoi (_tmp6_ = g_match_info_fetch (mi, 2)); + _g_free0 (_tmp6_); + } else { + char* _tmp7_; + self->priv->_driver = (_tmp7_ = NULL, _g_free0 (self->priv->_driver), _tmp7_); + self->priv->_unit = -1; + } + } + goto __finally0; + __catch0_g_regex_error: + { + GError * re; + re = _inner_error_; + _inner_error_ = NULL; + { + char* _tmp8_; + self->priv->_driver = (_tmp8_ = NULL, _g_free0 (self->priv->_driver), _tmp8_); + self->priv->_unit = -1; + _g_error_free0 (re); + } + } + __finally0: + if (_inner_error_ != NULL) { + _g_regex_unref0 (r); + _g_match_info_free0 (mi); + g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); + g_clear_error (&_inner_error_); + return NULL; + } + self->priv->_path = (_tmp9_ = g_strdup (path), _g_free0 (self->priv->_path), _tmp9_); + _g_regex_unref0 (r); + _g_match_info_free0 (mi); + return self; +} + + +DkpAcpiNative* dkp_acpi_native_new (const char* path) { + return dkp_acpi_native_construct (TYPE_DKP_ACPI_NATIVE, path); +} + + +DkpAcpiNative* dkp_acpi_native_construct_driver_unit (GType object_type, const char* driver, gint unit) { + DkpAcpiNative * self; + char* _tmp0_; + char* _tmp1_; + g_return_val_if_fail (driver != NULL, NULL); + self = (DkpAcpiNative*) g_object_new (object_type, NULL); + self->priv->_driver = (_tmp0_ = g_strdup (driver), _g_free0 (self->priv->_driver), _tmp0_); + self->priv->_unit = unit; + self->priv->_path = (_tmp1_ = g_strdup_printf ("dev.%s.%i", self->priv->_driver, self->priv->_unit), _g_free0 (self->priv->_path), _tmp1_); + return self; +} + + +DkpAcpiNative* dkp_acpi_native_new_driver_unit (const char* driver, gint unit) { + return dkp_acpi_native_construct_driver_unit (TYPE_DKP_ACPI_NATIVE, driver, unit); +} + + +const char* dkp_acpi_native_get_driver (DkpAcpiNative* self) { + const char* result; + g_return_val_if_fail (self != NULL, NULL); + result = self->priv->_driver; + return result; +} + + +gint dkp_acpi_native_get_unit (DkpAcpiNative* self) { + gint result; + g_return_val_if_fail (self != NULL, 0); + result = self->priv->_unit; + return result; +} + + +const char* dkp_acpi_native_get_path (DkpAcpiNative* self) { + const char* result; + g_return_val_if_fail (self != NULL, NULL); + result = self->priv->_path; + return result; +} + + +static void dkp_acpi_native_class_init (DkpAcpiNativeClass * klass) { + dkp_acpi_native_parent_class = g_type_class_peek_parent (klass); + g_type_class_add_private (klass, sizeof (DkpAcpiNativePrivate)); + G_OBJECT_CLASS (klass)->get_property = dkp_acpi_native_get_property; + G_OBJECT_CLASS (klass)->finalize = dkp_acpi_native_finalize; + g_object_class_install_property (G_OBJECT_CLASS (klass), DKP_ACPI_NATIVE_DRIVER, g_param_spec_string ("driver", "driver", "driver", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), DKP_ACPI_NATIVE_UNIT, g_param_spec_int ("unit", "unit", "unit", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), DKP_ACPI_NATIVE_PATH, g_param_spec_string ("path", "path", "path", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); +} + + +static void dkp_acpi_native_instance_init (DkpAcpiNative * self) { + self->priv = DKP_ACPI_NATIVE_GET_PRIVATE (self); +} + + +static void dkp_acpi_native_finalize (GObject* obj) { + DkpAcpiNative * self; + self = DKP_ACPI_NATIVE (obj); + _g_free0 (self->priv->_driver); + _g_free0 (self->priv->_path); + G_OBJECT_CLASS (dkp_acpi_native_parent_class)->finalize (obj); +} + + +GType dkp_acpi_native_get_type (void) { + static GType dkp_acpi_native_type_id = 0; + if (dkp_acpi_native_type_id == 0) { + static const GTypeInfo g_define_type_info = { sizeof (DkpAcpiNativeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) dkp_acpi_native_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DkpAcpiNative), 0, (GInstanceInitFunc) dkp_acpi_native_instance_init, NULL }; + dkp_acpi_native_type_id = g_type_register_static (G_TYPE_OBJECT, "DkpAcpiNative", &g_define_type_info, 0); + } + return dkp_acpi_native_type_id; +} + + +static void dkp_acpi_native_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) { + DkpAcpiNative * self; + self = DKP_ACPI_NATIVE (object); + switch (property_id) { + case DKP_ACPI_NATIVE_DRIVER: + g_value_set_string (value, dkp_acpi_native_get_driver (self)); + break; + case DKP_ACPI_NATIVE_UNIT: + g_value_set_int (value, dkp_acpi_native_get_unit (self)); + break; + case DKP_ACPI_NATIVE_PATH: + g_value_set_string (value, dkp_acpi_native_get_path (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + |