shill: Setup .Task RPC service for incoming VPN communication.

This will be used by OpenVPN, for example, to communicate back to shill
connection information (IP, DNS, etc.).

The RPC class model mostly follows the existing RPC adaptor classes (Manager,
Service, etc.).

Task is a bit overloaded and confusing in the context of shill so calling the
RPC object RPCTask instead. Also, the current intent is for this object to just
handle RPC service calls. Once the initial VPN implementation is in we may
decide to rename and refactor these objects.

BUG=chromium-os:26993
TEST=unit test

Change-Id: Ie294524b954c4a589c07ad285c7703cbbf9157d6
Reviewed-on: https://gerrit.chromium.org/gerrit/17047
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Sam Leffler <sleffler@chromium.org>
Commit-Ready: Darin Petkov <petkov@chromium.org>
21 files changed
tree: 4f5b97b293af605ea84008292dc3dde2ec21a41c
  1. dbus_bindings/
  2. .gitignore
  3. accessor_interface.h
  4. adaptor_interfaces.h
  5. async_call_handler.cc
  6. async_call_handler.h
  7. async_connection.cc
  8. async_connection.h
  9. async_connection_unittest.cc
  10. byte_string.cc
  11. byte_string.h
  12. byte_string_unittest.cc
  13. callback_list.cc
  14. callback_list.h
  15. callback_list_unittest.cc
  16. cellular.cc
  17. cellular.h
  18. cellular_capability.cc
  19. cellular_capability.h
  20. cellular_capability_cdma.cc
  21. cellular_capability_cdma.h
  22. cellular_capability_cdma_unittest.cc
  23. cellular_capability_gsm.cc
  24. cellular_capability_gsm.h
  25. cellular_capability_gsm_unittest.cc
  26. cellular_capability_unittest.cc
  27. cellular_error.cc
  28. cellular_error.h
  29. cellular_service.cc
  30. cellular_service.h
  31. cellular_service_unittest.cc
  32. cellular_unittest.cc
  33. connection.cc
  34. connection.h
  35. connection_unittest.cc
  36. control_interface.h
  37. crypto_des_cbc.cc
  38. crypto_des_cbc.h
  39. crypto_des_cbc_unittest.cc
  40. crypto_interface.h
  41. crypto_provider.cc
  42. crypto_provider.h
  43. crypto_provider_unittest.cc
  44. crypto_rot47.cc
  45. crypto_rot47.h
  46. crypto_rot47_unittest.cc
  47. dbus_adaptor.cc
  48. dbus_adaptor.h
  49. dbus_adaptor_unittest.cc
  50. dbus_control.cc
  51. dbus_control.h
  52. dbus_objectmanager_proxy.cc
  53. dbus_objectmanager_proxy.h
  54. dbus_objectmanager_proxy_interface.h
  55. dbus_properties.cc
  56. dbus_properties.h
  57. dbus_properties_proxy.cc
  58. dbus_properties_proxy.h
  59. dbus_properties_proxy_interface.h
  60. dbus_properties_unittest.cc
  61. default_profile.cc
  62. default_profile.h
  63. default_profile_unittest.cc
  64. device.cc
  65. device.h
  66. device_dbus_adaptor.cc
  67. device_dbus_adaptor.h
  68. device_info.cc
  69. device_info.h
  70. device_info_unittest.cc
  71. device_stub.h
  72. device_unittest.cc
  73. dhcp_config.cc
  74. dhcp_config.h
  75. dhcp_config_unittest.cc
  76. dhcp_provider.cc
  77. dhcp_provider.h
  78. dhcp_provider_unittest.cc
  79. dhcp_proxy_interface.h
  80. dhcpcd_proxy.cc
  81. dhcpcd_proxy.h
  82. dns_client.cc
  83. dns_client.h
  84. dns_client_unittest.cc
  85. endpoint.cc
  86. endpoint.h
  87. ephemeral_profile.cc
  88. ephemeral_profile.h
  89. error.cc
  90. error.h
  91. error_unittest.cc
  92. ethernet.cc
  93. ethernet.h
  94. ethernet_service.cc
  95. ethernet_service.h
  96. event_dispatcher.cc
  97. event_dispatcher.h
  98. glib.cc
  99. glib.h
  100. glib_io_input_handler.cc
  101. glib_io_input_handler.h
  102. glib_io_ready_handler.cc
  103. glib_io_ready_handler.h
  104. HACKING
  105. http_proxy.cc
  106. http_proxy.h
  107. http_proxy_unittest.cc
  108. http_request.cc
  109. http_request.h
  110. http_request_unittest.cc
  111. http_url.cc
  112. http_url.h
  113. http_url_unittest.cc
  114. ieee80211.h
  115. io_handler.h
  116. ip_address.cc
  117. ip_address.h
  118. ip_address_unittest.cc
  119. ipconfig.cc
  120. ipconfig.h
  121. ipconfig_dbus_adaptor.cc
  122. ipconfig_dbus_adaptor.h
  123. ipconfig_unittest.cc
  124. key_file_store.cc
  125. key_file_store.h
  126. key_file_store_unittest.cc
  127. key_value_store.cc
  128. key_value_store.h
  129. LICENSE
  130. Makefile
  131. manager.cc
  132. manager.h
  133. manager_dbus_adaptor.cc
  134. manager_dbus_adaptor.h
  135. manager_unittest.cc
  136. metrics.cc
  137. metrics.h
  138. metrics_unittest.cc
  139. mock_adaptors.cc
  140. mock_adaptors.h
  141. mock_ares.cc
  142. mock_ares.h
  143. mock_async_connection.cc
  144. mock_async_connection.h
  145. mock_callback.h
  146. mock_callback_unittest.cc
  147. mock_connection.cc
  148. mock_connection.h
  149. mock_control.cc
  150. mock_control.h
  151. mock_dbus_properties_proxy.cc
  152. mock_dbus_properties_proxy.h
  153. mock_device.cc
  154. mock_device.h
  155. mock_device_info.cc
  156. mock_device_info.h
  157. mock_dhcp_config.cc
  158. mock_dhcp_config.h
  159. mock_dhcp_provider.cc
  160. mock_dhcp_provider.h
  161. mock_dhcp_proxy.cc
  162. mock_dhcp_proxy.h
  163. mock_dns_client.cc
  164. mock_dns_client.h
  165. mock_event_dispatcher.cc
  166. mock_event_dispatcher.h
  167. mock_glib.cc
  168. mock_glib.h
  169. mock_http_request.cc
  170. mock_http_request.h
  171. mock_ipconfig.cc
  172. mock_ipconfig.h
  173. mock_manager.cc
  174. mock_manager.h
  175. mock_metrics.cc
  176. mock_metrics.h
  177. mock_modem_cdma_proxy.cc
  178. mock_modem_cdma_proxy.h
  179. mock_modem_gsm_card_proxy.cc
  180. mock_modem_gsm_card_proxy.h
  181. mock_modem_gsm_network_proxy.cc
  182. mock_modem_gsm_network_proxy.h
  183. mock_modem_manager_proxy.cc
  184. mock_modem_manager_proxy.h
  185. mock_modem_proxy.cc
  186. mock_modem_proxy.h
  187. mock_modem_simple_proxy.cc
  188. mock_modem_simple_proxy.h
  189. mock_power_manager.cc
  190. mock_power_manager.h
  191. mock_power_manager_proxy.cc
  192. mock_power_manager_proxy.h
  193. mock_profile.cc
  194. mock_profile.h
  195. mock_property_store.cc
  196. mock_property_store.h
  197. mock_resolver.cc
  198. mock_resolver.h
  199. mock_routing_table.cc
  200. mock_routing_table.h
  201. mock_rtnl_handler.cc
  202. mock_rtnl_handler.h
  203. mock_service.cc
  204. mock_service.h
  205. mock_sockets.cc
  206. mock_sockets.h
  207. mock_store.cc
  208. mock_store.h
  209. mock_supplicant_bss_proxy.cc
  210. mock_supplicant_bss_proxy.h
  211. mock_supplicant_interface_proxy.cc
  212. mock_supplicant_interface_proxy.h
  213. mock_supplicant_process_proxy.cc
  214. mock_supplicant_process_proxy.h
  215. mock_time.cc
  216. mock_time.h
  217. mock_vpn_driver.cc
  218. mock_vpn_driver.h
  219. mock_wifi.cc
  220. mock_wifi.h
  221. mock_wifi_service.cc
  222. mock_wifi_service.h
  223. modem.cc
  224. modem.h
  225. modem_cdma_proxy.cc
  226. modem_cdma_proxy.h
  227. modem_cdma_proxy_interface.h
  228. modem_gsm_card_proxy.cc
  229. modem_gsm_card_proxy.h
  230. modem_gsm_card_proxy_interface.h
  231. modem_gsm_network_proxy.cc
  232. modem_gsm_network_proxy.h
  233. modem_gsm_network_proxy_interface.h
  234. modem_info.cc
  235. modem_info.h
  236. modem_info_unittest.cc
  237. modem_manager.cc
  238. modem_manager.h
  239. modem_manager_proxy.cc
  240. modem_manager_proxy.h
  241. modem_manager_proxy_interface.h
  242. modem_manager_unittest.cc
  243. modem_proxy.cc
  244. modem_proxy.h
  245. modem_proxy_interface.h
  246. modem_simple_proxy.cc
  247. modem_simple_proxy.h
  248. modem_simple_proxy_interface.h
  249. modem_unittest.cc
  250. nice_mock_control.cc
  251. nice_mock_control.h
  252. openvpn_driver.cc
  253. openvpn_driver.h
  254. openvpn_driver_unittest.cc
  255. portal_detector.cc
  256. portal_detector.h
  257. portal_detector_unittest.cc
  258. power_manager.cc
  259. power_manager.h
  260. power_manager_proxy.cc
  261. power_manager_proxy.h
  262. power_manager_proxy_interface.h
  263. power_manager_unittest.cc
  264. profile.cc
  265. profile.h
  266. profile_dbus_adaptor.cc
  267. profile_dbus_adaptor.h
  268. profile_dbus_property_exporter.cc
  269. profile_dbus_property_exporter.h
  270. profile_dbus_property_exporter_unittest.cc
  271. profile_unittest.cc
  272. property_accessor.h
  273. property_accessor_unittest.cc
  274. property_iterator.h
  275. property_store.cc
  276. property_store.h
  277. property_store_unittest.cc
  278. property_store_unittest.h
  279. provider_db_unittest.bfd
  280. proxy_factory.cc
  281. proxy_factory.h
  282. refptr_types.h
  283. resolver.cc
  284. resolver.h
  285. resolver_unittest.cc
  286. routing_table.cc
  287. routing_table.h
  288. routing_table_entry.h
  289. routing_table_unittest.cc
  290. rpc_task.cc
  291. rpc_task.h
  292. rpc_task_dbus_adaptor.cc
  293. rpc_task_dbus_adaptor.h
  294. rpc_task_unittest.cc
  295. rtnl_handler.cc
  296. rtnl_handler.h
  297. rtnl_handler_unittest.cc
  298. rtnl_listener.cc
  299. rtnl_listener.h
  300. rtnl_listener_unittest.cc
  301. rtnl_message.cc
  302. rtnl_message.h
  303. rtnl_message_unittest.cc
  304. service.cc
  305. service.h
  306. service_dbus_adaptor.cc
  307. service_dbus_adaptor.h
  308. service_sorter.h
  309. service_under_test.cc
  310. service_under_test.h
  311. service_unittest.cc
  312. shill.conf
  313. shill_ares.cc
  314. shill_ares.h
  315. shill_config.cc
  316. shill_config.h
  317. shill_daemon.cc
  318. shill_daemon.h
  319. shill_main.cc
  320. shill_test_config.cc
  321. shill_test_config.h
  322. shill_time.cc
  323. shill_time.h
  324. shill_unittest.cc
  325. sockets.cc
  326. sockets.h
  327. store_interface.h
  328. supplicant_bss_proxy.cc
  329. supplicant_bss_proxy.h
  330. supplicant_bss_proxy_interface.h
  331. supplicant_interface_proxy.cc
  332. supplicant_interface_proxy.h
  333. supplicant_interface_proxy_interface.h
  334. supplicant_process_proxy.cc
  335. supplicant_process_proxy.h
  336. supplicant_process_proxy_interface.h
  337. technology.cc
  338. technology.h
  339. TESTING
  340. testrunner.cc
  341. vpn_driver.h
  342. vpn_provider.cc
  343. vpn_provider.h
  344. vpn_provider_unittest.cc
  345. vpn_service.cc
  346. vpn_service.h
  347. vpn_service_unittest.cc
  348. wifi.cc
  349. wifi.h
  350. wifi_endpoint.cc
  351. wifi_endpoint.h
  352. wifi_endpoint_unittest.cc
  353. wifi_service.cc
  354. wifi_service.h
  355. wifi_service_unittest.cc
  356. wifi_unittest.cc
  357. wpa_supplicant.cc
  358. wpa_supplicant.h