aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-01-19 17:51:08 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:54 +0100
commit43ac87170cffe9da225dc3a0e6dd2c0e6a487ca3 (patch)
treeb70fe5a117522f257bad60e6bd873f5efb1f989b /src
parent6ae1785b644d26ec8e1344e6f55e13f9b8522961 (diff)
bearer: don't handle reasons to forbid connection in the generic Bearer object
Diffstat (limited to 'src')
-rw-r--r--src/mm-bearer.c67
-rw-r--r--src/mm-bearer.h21
2 files changed, 15 insertions, 73 deletions
diff --git a/src/mm-bearer.c b/src/mm-bearer.c
index 9b0b0a8d..250e2420 100644
--- a/src/mm-bearer.c
+++ b/src/mm-bearer.c
@@ -41,7 +41,6 @@ enum {
PROP_PATH,
PROP_CONNECTION,
PROP_MODEM,
- PROP_CONNECTION_FORBIDDEN_REASON,
PROP_STATUS,
PROP_LAST
};
@@ -55,8 +54,6 @@ struct _MMBearerPrivate {
MMBaseModem *modem;
/* The path where the BEARER object is exported */
gchar *path;
- /* Reason for not allowing connection */
- MMBearerConnectionForbiddenReason connection_forbidden_reason;
/* Status of this bearer */
MMBearerStatus status;
@@ -205,20 +202,6 @@ mm_bearer_connect (MMBearer *self,
g_assert (MM_BEARER_GET_CLASS (self)->connect != NULL);
g_assert (MM_BEARER_GET_CLASS (self)->connect_finish != NULL);
- /* Bearer may not be allowed to connect yet */
- if (self->priv->connection_forbidden_reason != MM_BEARER_CONNECTION_FORBIDDEN_REASON_NONE) {
- g_simple_async_report_error_in_idle (
- G_OBJECT (self),
- callback,
- user_data,
- MM_CORE_ERROR,
- MM_CORE_ERROR_UNAUTHORIZED,
- "Not allowed to connect bearer: %s",
- mm_bearer_connection_forbidden_reason_get_string (
- self->priv->connection_forbidden_reason));
- return;
- }
-
/* If already connecting, return error, don't allow a second request. */
if (self->priv->status == MM_BEARER_STATUS_CONNECTING) {
g_simple_async_report_error_in_idle (
@@ -507,19 +490,11 @@ mm_bearer_get_path (MMBearer *self)
return self->priv->path;
}
-void
-mm_bearer_set_connection_allowed (MMBearer *self)
-{
- if (self->priv->connection_forbidden_reason == MM_BEARER_CONNECTION_FORBIDDEN_REASON_NONE)
- return;
-
- mm_dbg ("Connection in bearer '%s' is allowed", self->priv->path);
- self->priv->connection_forbidden_reason = MM_BEARER_CONNECTION_FORBIDDEN_REASON_NONE;
-}
+/*****************************************************************************/
static void
-disconnect_after_forbidden_ready (MMBearer *self,
- GAsyncResult *res)
+disconnect_force_ready (MMBearer *self,
+ GAsyncResult *res)
{
GError *error = NULL;
@@ -538,23 +513,13 @@ disconnect_after_forbidden_ready (MMBearer *self,
}
void
-mm_bearer_set_connection_forbidden (MMBearer *self,
- MMBearerConnectionForbiddenReason reason)
+mm_bearer_disconnect_force (MMBearer *self)
{
- g_assert (reason != MM_BEARER_CONNECTION_FORBIDDEN_REASON_NONE);
-
- self->priv->connection_forbidden_reason = reason;
- mm_dbg ("Connection in bearer '%s' is forbidden: '%s'",
- self->priv->path,
- mm_bearer_connection_forbidden_reason_get_string (
- self->priv->connection_forbidden_reason));
-
if (self->priv->status == MM_BEARER_STATUS_DISCONNECTING ||
- self->priv->status == MM_BEARER_STATUS_DISCONNECTED) {
+ self->priv->status == MM_BEARER_STATUS_DISCONNECTED)
return;
- }
- mm_dbg ("Disconnecting bearer '%s'", self->priv->path);
+ mm_dbg ("Forcing disconnection of bearer '%s'", self->priv->path);
/* If currently connecting, try to cancel that operation. */
if (self->priv->status == MM_BEARER_STATUS_CONNECTING) {
@@ -567,10 +532,12 @@ mm_bearer_set_connection_forbidden (MMBearer *self,
g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_STATUS]);
MM_BEARER_GET_CLASS (self)->disconnect (
self,
- (GAsyncReadyCallback)disconnect_after_forbidden_ready,
+ (GAsyncReadyCallback)disconnect_force_ready,
NULL);
}
+/*****************************************************************************/
+
void
mm_bearer_expose_properties (MMBearer *bearer,
MMCommonBearerProperties *properties)
@@ -624,9 +591,6 @@ set_property (GObject *object,
self, MM_BEARER_CONNECTION,
G_BINDING_DEFAULT | G_BINDING_SYNC_CREATE);
break;
- case PROP_CONNECTION_FORBIDDEN_REASON:
- self->priv->connection_forbidden_reason = g_value_get_enum (value);
- break;
case PROP_STATUS:
self->priv->status = g_value_get_enum (value);
break;
@@ -654,9 +618,6 @@ get_property (GObject *object,
case PROP_MODEM:
g_value_set_object (value, self->priv->modem);
break;
- case PROP_CONNECTION_FORBIDDEN_REASON:
- g_value_set_enum (value, self->priv->connection_forbidden_reason);
- break;
case PROP_STATUS:
g_value_set_enum (value, self->priv->status);
break;
@@ -674,7 +635,6 @@ mm_bearer_init (MMBearer *self)
MM_TYPE_BEARER,
MMBearerPrivate);
self->priv->status = MM_BEARER_STATUS_DISCONNECTED;
- self->priv->connection_forbidden_reason = MM_BEARER_CONNECTION_FORBIDDEN_REASON_UNREGISTERED;
/* Set defaults */
mm_gdbus_bearer_set_interface (MM_GDBUS_BEARER (self), NULL);
@@ -748,15 +708,6 @@ mm_bearer_class_init (MMBearerClass *klass)
G_PARAM_READWRITE);
g_object_class_install_property (object_class, PROP_MODEM, properties[PROP_MODEM]);
- properties[PROP_CONNECTION_FORBIDDEN_REASON] =
- g_param_spec_enum (MM_BEARER_CONNECTION_FORBIDDEN_REASON,
- "Connection forbidden reason",
- "Reason to specify why the connection in the bearer is forbidden",
- MM_TYPE_BEARER_CONNECTION_FORBIDDEN_REASON,
- MM_BEARER_CONNECTION_FORBIDDEN_REASON_UNREGISTERED,
- G_PARAM_READWRITE);
- g_object_class_install_property (object_class, PROP_CONNECTION_FORBIDDEN_REASON, properties[PROP_CONNECTION_FORBIDDEN_REASON]);
-
properties[PROP_STATUS] =
g_param_spec_enum (MM_BEARER_STATUS,
"Bearer status",
diff --git a/src/mm-bearer.h b/src/mm-bearer.h
index 693e87cf..732446ab 100644
--- a/src/mm-bearer.h
+++ b/src/mm-bearer.h
@@ -36,11 +36,10 @@ typedef struct _MMBearer MMBearer;
typedef struct _MMBearerClass MMBearerClass;
typedef struct _MMBearerPrivate MMBearerPrivate;
-#define MM_BEARER_PATH "bearer-path"
-#define MM_BEARER_CONNECTION "bearer-connection"
-#define MM_BEARER_MODEM "bearer-modem"
-#define MM_BEARER_CONNECTION_FORBIDDEN_REASON "bearer-connection-forbidden-reason"
-#define MM_BEARER_STATUS "bearer-status"
+#define MM_BEARER_PATH "bearer-path"
+#define MM_BEARER_CONNECTION "bearer-connection"
+#define MM_BEARER_MODEM "bearer-modem"
+#define MM_BEARER_STATUS "bearer-status"
/* Prefix for all bearer object paths */
#define MM_DBUS_BEARER_PREFIX MM_DBUS_PATH "/Bearers"
@@ -52,12 +51,6 @@ typedef enum { /*< underscore_name=mm_bearer_status >*/
MM_BEARER_STATUS_CONNECTED,
} MMBearerStatus;
-typedef enum { /*< underscore_name=mm_bearer_connection_forbidden_reason >*/
- MM_BEARER_CONNECTION_FORBIDDEN_REASON_NONE,
- MM_BEARER_CONNECTION_FORBIDDEN_REASON_UNREGISTERED,
- MM_BEARER_CONNECTION_FORBIDDEN_REASON_ROAMING,
-} MMBearerConnectionForbiddenReason;
-
struct _MMBearer {
MmGdbusBearerSkeleton parent;
MMBearerPrivate *priv;
@@ -95,10 +88,6 @@ const gchar *mm_bearer_get_path (MMBearer *bearer);
void mm_bearer_expose_properties (MMBearer *bearer,
MMCommonBearerProperties *properties);
-void mm_bearer_set_connection_allowed (MMBearer *bearer);
-void mm_bearer_set_connection_forbidden (MMBearer *bearer,
- MMBearerConnectionForbiddenReason reason);
-
MMBearerStatus mm_bearer_get_status (MMBearer *bearer);
void mm_bearer_connect (MMBearer *self,
@@ -115,4 +104,6 @@ gboolean mm_bearer_disconnect_finish (MMBearer *self,
GAsyncResult *res,
GError **error);
+void mm_bearer_disconnect_force (MMBearer *self);
+
#endif /* MM_BEARER_H */