1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef CHROMEOS_NETWORK_NETWORK_HANDLER_CALLBACKS_H_
6 #define CHROMEOS_NETWORK_NETWORK_HANDLER_CALLBACKS_H_
10 #include "base/basictypes.h"
11 #include "base/callback.h"
12 #include "chromeos/chromeos_export.h"
15 class DictionaryValue
;
19 namespace network_handler
{
21 // An error callback used by both the configuration handler and the state
22 // handler to receive error results from the API.
23 typedef base::Callback
<
24 void(const std::string
& error_name
,
25 const scoped_ptr
<base::DictionaryValue
> error_data
)> ErrorCallback
;
27 typedef base::Callback
<
28 void(const std::string
& service_path
,
29 const base::DictionaryValue
& dictionary
)> DictionaryResultCallback
;
31 typedef base::Callback
<
32 void(const std::string
& service_path
)> StringResultCallback
;
34 // Create a DictionaryValue for passing to ErrorCallback
35 CHROMEOS_EXPORT
base::DictionaryValue
* CreateErrorData(
36 const std::string
& service_path
,
37 const std::string
& error_name
,
38 const std::string
& error_message
);
40 // Callback for Shill errors. |path| may be blank if not relevant.
41 // Logs an error and calls |error_callback| if not null.
42 void ShillErrorCallbackFunction(const std::string
& module
,
43 const std::string
& path
,
44 const ErrorCallback
& error_callback
,
45 const std::string
& error_name
,
46 const std::string
& error_message
);
48 } // namespace network_handler
49 } // namespace chromeos
51 #endif // CHROMEOS_NETWORK_NETWORK_HANDLER_CALLBACKS_H_