*
* Connection Manager
*
- * Copyright (C) 2007-2010 Intel Corporation. All rights reserved.
+ * Copyright (C) 2007-2014 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
#ifndef __CONNMAN_SERVICE_H
#define __CONNMAN_SERVICE_H
-#include <connman/types.h>
+#include <stdbool.h>
+
+#if defined TIZEN_EXT
+#include <glib.h>
+#endif
#ifdef __cplusplus
extern "C" {
CONNMAN_SERVICE_TYPE_SYSTEM = 1,
CONNMAN_SERVICE_TYPE_ETHERNET = 2,
CONNMAN_SERVICE_TYPE_WIFI = 3,
- CONNMAN_SERVICE_TYPE_WIMAX = 4,
- CONNMAN_SERVICE_TYPE_BLUETOOTH = 5,
- CONNMAN_SERVICE_TYPE_CELLULAR = 6,
- CONNMAN_SERVICE_TYPE_GPS = 7,
- CONNMAN_SERVICE_TYPE_VPN = 8,
- CONNMAN_SERVICE_TYPE_GADGET = 9,
+ CONNMAN_SERVICE_TYPE_BLUETOOTH = 4,
+ CONNMAN_SERVICE_TYPE_CELLULAR = 5,
+ CONNMAN_SERVICE_TYPE_GPS = 6,
+ CONNMAN_SERVICE_TYPE_VPN = 7,
+ CONNMAN_SERVICE_TYPE_GADGET = 8,
+ CONNMAN_SERVICE_TYPE_P2P = 9,
+#if defined TIZEN_EXT_WIFI_MESH
+ CONNMAN_SERVICE_TYPE_MESH = 10,
+#endif
};
+#if defined TIZEN_EXT_WIFI_MESH
+#define MAX_CONNMAN_SERVICE_TYPES 11
+#else
+#define MAX_CONNMAN_SERVICE_TYPES 10
+#endif
+
enum connman_service_security {
CONNMAN_SERVICE_SECURITY_UNKNOWN = 0,
CONNMAN_SERVICE_SECURITY_8021X = 4,
CONNMAN_SERVICE_SECURITY_WPA = 8,
CONNMAN_SERVICE_SECURITY_RSN = 9,
+#if defined TIZEN_EXT
+ CONNMAN_SERVICE_SECURITY_SAE = 10,
+#endif
};
enum connman_service_state {
CONNMAN_SERVICE_ERROR_LOGIN_FAILED = 5,
CONNMAN_SERVICE_ERROR_AUTH_FAILED = 6,
CONNMAN_SERVICE_ERROR_INVALID_KEY = 7,
+ CONNMAN_SERVICE_ERROR_BLOCKED = 8,
};
enum connman_service_proxy_method {
CONNMAN_SERVICE_PROXY_METHOD_AUTO = 3,
};
+enum connman_service_connect_reason {
+ CONNMAN_SERVICE_CONNECT_REASON_NONE = 0,
+ CONNMAN_SERVICE_CONNECT_REASON_AUTO = 1,
+ CONNMAN_SERVICE_CONNECT_REASON_USER = 2,
+ CONNMAN_SERVICE_CONNECT_REASON_SESSION = 3,
+};
+
struct connman_service;
+struct connman_network;
struct connman_service *connman_service_create(void);
char **connman_service_get_proxy_excludes(struct connman_service *service);
const char *connman_service_get_proxy_url(struct connman_service *service);
const char *connman_service_get_proxy_autoconfig(struct connman_service *service);
+bool connman_service_get_favorite(struct connman_service *service);
+bool connman_service_get_autoconnect(struct connman_service *service);
+
+struct connman_service *connman_service_lookup_from_network(struct connman_network *network);
+struct connman_service *connman_service_lookup_from_identifier(const char* identifier);
+
+void connman_service_create_ip4config(struct connman_service *service,
+ int index);
+void connman_service_create_ip6config(struct connman_service *service,
+ int index);
+
+#if defined TIZEN_EXT
+/*
+ * Description: TIZEN implements system global connection management.
+ * It's only for PDP (cellular) bearer. Wi-Fi is managed by ConnMan automatically.
+ * Reference count can help to manage open/close connection requests by each application.
+ */
+
+/*
+ * Increase reference count of user-initiated packet data network connection
+ */
+void connman_service_user_pdn_connection_ref(struct connman_service *service);
+
+/*
+ * Decrease reference count of user initiated packet data network connection
+ * and return TRUE if counter is zero.
+ */
+gboolean connman_service_user_pdn_connection_unref_and_test(
+ struct connman_service *service);
+
+/*
+ * Test reference count of user initiated packet data network connection
+ * and return TRUE if counter is zero. No impact to reference count
+ */
+gboolean connman_service_is_no_ref_user_pdn_connection(
+ struct connman_service *service);
+#endif
+
+#if defined TIZEN_EXT
+struct connman_service *connman_service_get_default_connection(void);
+
+/*
+ * Description: telephony plug-in requires manual PROXY setting
+ */
+int connman_service_set_proxy(struct connman_service *service,
+ const char *proxy, gboolean active);
+#endif
#ifdef __cplusplus
}