TIVI-1924: Initial commit of IVI settings daemon.
[profile/ivi/settings-daemon.git] / plugins / connman / ethernet.hpp
1 /**
2  * @file ethernet.hpp
3  *
4  * @brief Ethernet settings plugin.
5  *
6  * Connman-based ethernet settings plugin.
7  *
8  * @author Ossama Othman @<ossama.othman@@intel.com@>
9  *
10  * @copyright @par
11  * Copyright 2012, 2013 Intel Corporation All Rights Reserved.
12  * @par
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Lesser General Public
15  * License as published by the Free Software Foundation;
16  * version 2.1 of the License.
17  * @par
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Lesser General Public License for more details.
22  * @par
23  * You should have received a copy of the GNU Lesser General Public
24  * License along with this library; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor,
26  * Boston, MA  02110-1301  USA
27  *
28  * @note This header is internal.  Settings provider plugin implementors
29  *       should write their own library/symbol export macros as
30  *       needed.
31  */
32
33
34 #ifndef IVI_SETTINGS_CONNMAN_ETHERNET_HPP
35 #define IVI_SETTINGS_CONNMAN_ETHERNET_HPP
36
37 #include <settingsd/plugin.hpp>
38
39 #include "technology.hpp"
40
41
42 namespace ivi
43 {
44   namespace settings
45   {
46     /**
47      * @class ethernet
48      *
49      * @brief Connman-based ethernet settings.
50      *
51      * This class implements all connman-based ethernet settings.
52      */
53     class ethernet : public plugin
54     {
55     public:
56
57       /// Constructor.
58       ethernet();
59
60       /// Destructor.
61       virtual ~ethernet();
62
63       /**
64        * @name Settings Plugin API
65        *
66        * Interface defined by the @c ivi::settings::plugin abstract
67        * base class.
68        *
69        * @see settingsd/plugin.hpp
70        */
71       //@{
72       virtual std::string const & id() const;
73       virtual void handle_request(std::string request,
74                                   response_callback response);
75       //@}
76
77     private:
78
79       /// Underlying connman proxy.
80       technology technology_;
81
82     };
83
84   }
85 }
86
87
88 #endif  /* IVI_SETTINGS_CONNMAN_ETHERNET_HPP */
89
90
91 // Local Variables:
92 // mode:c++
93 // c-basic-offset:2
94 // indent-tabs-mode: nil
95 // End:
96