aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port.h
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2009-06-20 10:49:09 -0400
committerDan Williams <dcbw@redhat.com>2009-06-20 10:49:09 -0400
commitd5a43aa862cc527c5d3a86ba6ec9401c029547c0 (patch)
tree0d5c4a4174adf8d31afae21f1abd835a3ae13470 /src/mm-port.h
parent73e536c3c35de6020b6b6a1aeb9deac522e21cb4 (diff)
udev: modem port refactor; convert 'hso' to udev
Create a base MMPort class to handle both tty and net ports generically, and move plugins over to that. Also port the 'hso' plugin to udev.
Diffstat (limited to 'src/mm-port.h')
-rw-r--r--src/mm-port.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/mm-port.h b/src/mm-port.h
new file mode 100644
index 00000000..339b91ea
--- /dev/null
+++ b/src/mm-port.h
@@ -0,0 +1,74 @@
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details:
+ *
+ * Copyright (C) 2009 Red Hat, Inc.
+ */
+
+#ifndef MM_PORT_H
+#define MM_PORT_H
+
+#include <glib.h>
+#include <glib/gtypes.h>
+#include <glib-object.h>
+
+typedef enum {
+ MM_PORT_SUBSYS_UNKNOWN = 0x0,
+ MM_PORT_SUBSYS_TTY,
+ MM_PORT_SUBSYS_NET,
+
+ MM_PORT_SUBSYS_LAST = MM_PORT_SUBSYS_NET
+} MMPortSubsys;
+
+typedef enum {
+ MM_PORT_TYPE_UNKNOWN = 0x0,
+ MM_PORT_TYPE_PRIMARY,
+ MM_PORT_TYPE_SECONDARY,
+ MM_PORT_TYPE_IGNORED,
+
+ MM_PORT_TYPE_LAST = MM_PORT_TYPE_IGNORED
+} MMPortType;
+
+#define MM_TYPE_PORT (mm_port_get_type ())
+#define MM_PORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_PORT, MMPort))
+#define MM_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MM_TYPE_PORT, MMPortClass))
+#define MM_IS_PORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_PORT))
+#define MM_IS_PORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MM_TYPE_PORT))
+#define MM_PORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MM_TYPE_PORT, MMPortClass))
+
+#define MM_PORT_DEVICE "device"
+#define MM_PORT_SUBSYS "subsys"
+#define MM_PORT_TYPE "type"
+#define MM_PORT_CARRIER_DETECT "carrier-detect"
+
+typedef struct _MMPort MMPort;
+typedef struct _MMPortClass MMPortClass;
+
+struct _MMPort {
+ GObject parent;
+};
+
+struct _MMPortClass {
+ GObjectClass parent;
+};
+
+GType mm_port_get_type (void);
+
+const char * mm_port_get_device (MMPort *self);
+
+MMPortSubsys mm_port_get_subsys (MMPort *self);
+
+MMPortType mm_port_get_port_type (MMPort *self);
+
+gboolean mm_port_get_carrier_detect (MMPort *self);
+
+#endif /* MM_PORT_H */
+