aboutsummaryrefslogtreecommitdiff
path: root/plugins/mm-modem-hso.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mm-modem-hso.c')
-rw-r--r--plugins/mm-modem-hso.c43
1 files changed, 6 insertions, 37 deletions
diff --git a/plugins/mm-modem-hso.c b/plugins/mm-modem-hso.c
index 6e1f768a..97ff7c36 100644
--- a/plugins/mm-modem-hso.c
+++ b/plugins/mm-modem-hso.c
@@ -38,7 +38,12 @@ static void impl_hso_authenticate (MMModemHso *self,
#include "mm-modem-gsm-hso-glue.h"
-static gpointer mm_modem_hso_parent_class = NULL;
+static void modem_init (MMModem *modem_class);
+static void modem_simple_init (MMModemSimple *simple_class);
+
+G_DEFINE_TYPE_EXTENDED (MMModemHso, mm_modem_hso, MM_TYPE_GENERIC_GSM, 0,
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM, modem_init)
+ G_IMPLEMENT_INTERFACE (MM_TYPE_MODEM_SIMPLE, modem_simple_init))
#define MM_MODEM_HSO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_MODEM_HSO, MMModemHsoPrivate))
@@ -685,39 +690,3 @@ mm_modem_hso_class_init (MMModemHsoClass *klass)
object_class->finalize = finalize;
}
-GType
-mm_modem_hso_get_type (void)
-{
- static GType modem_hso_type = 0;
-
- if (G_UNLIKELY (modem_hso_type == 0)) {
- static const GTypeInfo modem_hso_type_info = {
- sizeof (MMModemHsoClass),
- (GBaseInitFunc) NULL,
- (GBaseFinalizeFunc) NULL,
- (GClassInitFunc) mm_modem_hso_class_init,
- (GClassFinalizeFunc) NULL,
- NULL, /* class_data */
- sizeof (MMModemHso),
- 0, /* n_preallocs */
- (GInstanceInitFunc) mm_modem_hso_init,
- };
-
- static const GInterfaceInfo modem_iface_info = {
- (GInterfaceInitFunc) modem_init
- };
-
- static const GInterfaceInfo modem_simple_info = {
- (GInterfaceInitFunc) modem_simple_init
- };
-
- modem_hso_type = g_type_register_static (MM_TYPE_GENERIC_GSM, "MMModemHso", &modem_hso_type_info, 0);
-
- g_type_add_interface_static (modem_hso_type, MM_TYPE_MODEM, &modem_iface_info);
- g_type_add_interface_static (modem_hso_type, MM_TYPE_MODEM_SIMPLE, &modem_simple_info);
-
- dbus_g_object_type_install_info (modem_hso_type, &dbus_glib_mm_modem_gsm_hso_object_info);
- }
-
- return modem_hso_type;
-}