*
* Connection Manager
*
- * Copyright (C) 2007-2009 Intel Corporation. All rights reserved.
+ * Copyright (C) 2007-2012 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
#include <connman/log.h>
#define IOSPM_SERVICE "com.intel.mid.ospm"
-#define IOSPM_INTERFACE IOSPM_SERVICE ".MMF"
+#define IOSPM_INTERFACE IOSPM_SERVICE ".Comms"
+#define IOSPM_BLUETOOTH "/com/intel/mid/ospm/bluetooth"
#define IOSPM_FLIGHT_MODE "/com/intel/mid/ospm/flight_mode"
static DBusConnection *connection;
-static void iospm_device_enabled(enum connman_device_type type,
- connman_bool_t enabled)
-{
- DBG("type %d enabled %d", type, enabled);
-}
-
-static void iospm_offline_mode(connman_bool_t enabled)
+static void send_indication(const char *path, connman_bool_t enabled)
{
DBusMessage *message;
const char *method;
- DBG("enabled %d", enabled);
+ DBG("path %s enabled %d", path, enabled);
if (enabled == TRUE)
method = "IndicateStart";
else
method = "IndicateStop";
- message = dbus_message_new_method_call(IOSPM_SERVICE,
- IOSPM_FLIGHT_MODE, IOSPM_INTERFACE, method);
+ message = dbus_message_new_method_call(IOSPM_SERVICE, path,
+ IOSPM_INTERFACE, method);
if (message == NULL)
return;
dbus_message_unref(message);
}
+static void iospm_service_enabled(enum connman_service_type type,
+ connman_bool_t enabled)
+{
+ switch (type) {
+ case CONNMAN_SERVICE_TYPE_UNKNOWN:
+ case CONNMAN_SERVICE_TYPE_SYSTEM:
+ case CONNMAN_SERVICE_TYPE_ETHERNET:
+ case CONNMAN_SERVICE_TYPE_WIFI:
+ case CONNMAN_SERVICE_TYPE_WIMAX:
+ case CONNMAN_SERVICE_TYPE_CELLULAR:
+ case CONNMAN_SERVICE_TYPE_GPS:
+ case CONNMAN_SERVICE_TYPE_VPN:
+ case CONNMAN_SERVICE_TYPE_GADGET:
+ break;
+ case CONNMAN_SERVICE_TYPE_BLUETOOTH:
+ send_indication(IOSPM_BLUETOOTH, enabled);
+ break;
+ }
+}
+
+static void iospm_offline_mode(connman_bool_t enabled)
+{
+ send_indication(IOSPM_FLIGHT_MODE, enabled);
+}
+
static struct connman_notifier iospm_notifier = {
.name = "iospm",
.priority = CONNMAN_NOTIFIER_PRIORITY_DEFAULT,
- .device_enabled = iospm_device_enabled,
+ .service_enabled= iospm_service_enabled,
.offline_mode = iospm_offline_mode,
};