78bf825662a3bdc8f05f934e5d06e93301b6c900
[scm/bb/tizen-distro.git] / meta-tizen / meta-tizen-adaptation-oe-core / recipes-connectivity / connman / connman / 0011-Tizen-Export-network-proxy-API-for-telephony-plugin.patch
1 From 2bbc2b500806c808f54b459615ea4daddef1cf4e Mon Sep 17 00:00:00 2001
2 From: Arron Wang <arron.wang@intel.com>
3 Date: Tue, 9 Oct 2012 16:20:45 +0800
4 Subject: [PATCH 11/32] Tizen: Export network proxy API for telephony plugin
5
6 Telephony plug-in requires manual PROXY setting function
7 Telephony stack provides proxy address (3G profile).
8
9 Change-Id: Iaa02f59465a687961c303667ee09051b419507d2
10 ---
11  include/network.h |  3 +++
12  src/connman.h     |  4 ++++
13  src/network.c     | 18 ++++++++++++++++++
14  src/service.c     | 16 ++++++++++++++++
15  4 files changed, 41 insertions(+)
16
17 diff --git a/include/network.h b/include/network.h
18 index 180f2a2..e433c22 100644
19 --- a/include/network.h
20 +++ b/include/network.h
21 @@ -131,6 +131,9 @@ unsigned int connman_network_get_maxrate(struct connman_network *network);
22  int connman_network_set_enc_mode(struct connman_network *network,
23                                 const char *encryption_mode);
24  const char *connman_network_get_enc_mode(struct connman_network *network);
25 +
26 +int connman_network_set_proxy(struct connman_network *network,
27 +                               const char *proxies);
28  #endif
29  
30  int connman_network_set_name(struct connman_network *network,
31 diff --git a/src/connman.h b/src/connman.h
32 index da01215..4d78eab 100644
33 --- a/src/connman.h
34 +++ b/src/connman.h
35 @@ -756,6 +756,10 @@ void __connman_service_timeserver_changed(struct connman_service *service,
36                 GSList *ts_list);
37  void __connman_service_set_pac(struct connman_service *service,
38                                         const char *pac);
39 +#if defined TIZEN_EXT
40 +void __connman_service_set_proxy(struct connman_service *service,
41 +                                       const char *proxies);
42 +#endif
43  bool __connman_service_is_hidden(struct connman_service *service);
44  bool __connman_service_is_split_routing(struct connman_service *service);
45  bool __connman_service_index_is_split_routing(int index);
46 diff --git a/src/network.c b/src/network.c
47 index c40a079..8c9fdcb 100644
48 --- a/src/network.c
49 +++ b/src/network.c
50 @@ -1808,6 +1808,24 @@ const char *connman_network_get_enc_mode(struct connman_network *network)
51         return (const char *)network->wifi.encryption_mode;
52  }
53  
54 +int connman_network_set_proxy(struct connman_network *network,
55 +                               const char *proxies)
56 +{
57 +       struct connman_service *service;
58 +
59 +       DBG("network %p proxies %s", network, proxies);
60 +
61 +       service = connman_service_lookup_from_network(network);
62 +       if (service == NULL)
63 +               return -EINVAL;
64 +
65 +       __connman_service_set_proxy(service, proxies);
66 +
67 +       connman_service_set_proxy_method(service,
68 +                               CONNMAN_SERVICE_PROXY_METHOD_MANUAL);
69 +
70 +       return 0;
71 +}
72  #endif
73  
74  int connman_network_set_nameservers(struct connman_network *network,
75 diff --git a/src/service.c b/src/service.c
76 index d3b219f..8d3c619 100644
77 --- a/src/service.c
78 +++ b/src/service.c
79 @@ -2806,6 +2806,22 @@ void __connman_service_set_pac(struct connman_service *service,
80         proxy_changed(service);
81  }
82  
83 +#if defined TIZEN_EXT
84 +void __connman_service_set_proxy(struct connman_service *service,
85 +                                       const char *proxies)
86 +{
87 +       char **proxies_array = NULL;
88 +
89 +       g_strfreev(service->proxies);
90 +       service->proxies = NULL;
91 +
92 +       if (proxies != NULL)
93 +               proxies_array = g_strsplit(proxies, " ", 0);
94 +
95 +       service->proxies = proxies_array;
96 +}
97 +#endif
98 +
99  void __connman_service_set_identity(struct connman_service *service,
100                                         const char *identity)
101  {
102 -- 
103 1.8.1.4
104