aboutsummaryrefslogtreecommitdiff
path: root/src/mm-plugin.h
diff options
context:
space:
mode:
authorTambet Ingo <tambet@gmail.com>2008-07-31 09:43:00 +0300
committerTambet Ingo <tambet@gmail.com>2008-07-31 09:43:00 +0300
commitcc31458b18e8c274641cf124f5bf7ec6fe506dfb (patch)
treee4ec49a3e26cfd0f002faa76e0a6c0d180204177 /src/mm-plugin.h
Initial commit.
Diffstat (limited to 'src/mm-plugin.h')
-rw-r--r--src/mm-plugin.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/mm-plugin.h b/src/mm-plugin.h
new file mode 100644
index 00000000..0f9a600b
--- /dev/null
+++ b/src/mm-plugin.h
@@ -0,0 +1,55 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+#ifndef MM_PLUGIN_H
+#define MM_PLUGIN_H
+
+#include <glib-object.h>
+#include <libhal.h>
+#include <mm-modem.h>
+
+#define MM_PLUGIN_MAJOR_VERSION 1
+#define MM_PLUGIN_MINOR_VERSION 0
+
+#define MM_TYPE_PLUGIN (mm_plugin_get_type ())
+#define MM_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_PLUGIN, MMPlugin))
+#define MM_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_PLUGIN))
+#define MM_PLUGIN_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MM_TYPE_PLUGIN, MMPlugin))
+
+typedef struct _MMPlugin MMPlugin;
+
+typedef MMPlugin *(*MMPluginCreateFunc) (void);
+
+struct _MMPlugin {
+ GTypeInterface g_iface;
+
+ /* Methods */
+ const char *(*get_name) (MMPlugin *self);
+
+ char **(*list_supported_udis) (MMPlugin *self,
+ LibHalContext *hal_ctx);
+
+ gboolean (*supports_udi) (MMPlugin *self,
+ LibHalContext *hal_ctx,
+ const char *udi);
+
+ MMModem *(*create_modem) (MMPlugin *self,
+ LibHalContext *hal_ctx,
+ const char *udi);
+};
+
+GType mm_plugin_get_type (void);
+
+const char *mm_plugin_get_name (MMPlugin *plugin);
+
+char **mm_plugin_list_supported_udis (MMPlugin *plugin,
+ LibHalContext *hal_ctx);
+
+gboolean mm_plugin_supports_udi (MMPlugin *plugin,
+ LibHalContext *hal_ctx,
+ const char *udi);
+
+MMModem *mm_plugin_create_modem (MMPlugin *plugin,
+ LibHalContext *hal_ctx,
+ const char *udi);
+
+#endif /* MM_PLUGIN_H */