*
* Connection Manager
*
- * Copyright (C) 2007-2012 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>
#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,
};
+#define MAX_CONNMAN_SERVICE_TYPES 10
+
enum connman_service_security {
CONNMAN_SERVICE_SECURITY_UNKNOWN = 0,
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;
const char *file, int line, const char *caller);
enum connman_service_type connman_service_get_type(struct connman_service *service);
+enum connman_service_state connman_service_get_state(struct connman_service *service);
char *connman_service_get_interface(struct connman_service *service);
+const char *connman_service_get_identifier(struct connman_service *service);
const char *connman_service_get_domainname(struct connman_service *service);
+const char *connman_service_get_dbuspath(struct connman_service *service);
char **connman_service_get_nameservers(struct connman_service *service);
char **connman_service_get_timeservers_config(struct connman_service *service);
char **connman_service_get_timeservers(struct connman_service *service);
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);
+bool connman_service_set_autoconnect(struct connman_service *service,
+ bool autoconnect);
+
+/* Return non-zero value to terminate the loop, zero to continue */
+typedef int (* connman_service_iterate_cb) (struct connman_service *service,
+ void *user_data);
+int connman_service_iterate_services(connman_service_iterate_cb cb,
+ void *user_data);
+
+struct connman_service *connman_service_get_default(void);
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);