tizen beta release
[framework/web/wrt-plugins-common.git] / src / modules / tizen / Networking / Manager.cpp
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 #include "Manager.h"
17
18 //#include <cstddef>
19 //#include <NetCMIntf.h>
20 //#include <NetPMIntf.h>
21 //#include <wlan-engine-client-intf.h>
22 //#include <dpl/log/log.h>
23 #include "EthernetAdapter.h"
24 #include "WifiAdapter.h"
25
26 /* TODO - commented source code will be removed */
27 //namespace {
28 //const std::size_t SSID_MAX_LENGTH = 32;
29 //} // anonymous
30
31 namespace WrtDeviceApis {
32 namespace Networking {
33 //net_event_callbacks Manager::m_netEventCallbacks = Manager::getNetEventCallbacks();
34
35 Manager& Manager::getInstance()
36 {
37     static Manager instance;
38     return instance;
39 }
40
41 Api::IAdapter* Manager::getAdapter(Api::IAdapter::Type /*type*/) const
42 {
43     //TODO: to be implemented
44     return NULL;
45     //  Adapters::const_iterator it = m_adapters.find(type);
46     //  if (it == m_adapters.end()) {
47     //    return NULL;
48     //  }
49     //  return it->second;
50 }
51
52 void Manager::getAvailableAdapters(Api::AdaptersSet *retSet) const
53 {
54     if (retSet) {
55         retSet->insert(retSet->end(), m_adapters.begin(), m_adapters.end());
56     }
57 }
58
59 //Api::Connections Manager::getConnections() const {
60 //  return m_connections;
61 //}
62 //
63 //void Manager::wlanCallback(const wlan_event_type_t* event,
64 //                           void* userData,
65 //                           void* data)
66 //{
67 //  LogDebug("--| ENTER");
68 //  LogInfo("Event: " << *event);
69 //}
70 //
71 //void Manager::onNetConnectionOpen(const NetErr_t error,
72 //                                  const NetDevInfo_t* device,
73 //                                  int transportErrorCode,
74 //                                  void *userData)
75 //{
76 //  LogDebug("--| ENTER");
77 //
78 //}
79 //
80 //void Manager::onNetConnectionClose(const NetErr_t error,
81 //                                   int transportErrorCode,
82 //                                   void *userData)
83 //{ LogDebug("--| ENTER"); }
84 //
85 //void Manager::onNetConnectionKill(const NetErr_t error,
86 //                                  int transportErrorCode,
87 //                                  void *userData)
88 //{ LogDebug("--| ENTER"); }
89 //
90 //void Manager::onNetStatusChange(NetStatusInfo_t* status, void *userData) {
91 //  LogDebug("--| ENTER");
92 //  LogInfo("Type: " << status->transportType << ", status: " << status->WiFiStatus);
93 //}
94
95 Manager::Manager()
96 {
97     setupAdapters();
98 }
99
100 Manager::~Manager()
101 {
102     removeAdapters();
103 }
104
105 void Manager::setupAdapters()
106 {
107     //TODO: to be implemented
108     //  Api::IAdapter* adapter = NULL;
109     //
110     //  adapter = new EthernetAdapter();
111     //  m_adapters.insert(Adapters::value_type(Api::IAdapter::T_ETHERNET, adapter));
112     //
113     //  adapter = new WifiAdapter();
114     //  m_adapters.insert(Adapters::value_type(Api::IAdapter::T_WIFI, adapter));
115 }
116
117 void Manager::removeAdapters()
118 {
119     //TODO: to be implemented
120     //  Adapters::iterator it = m_adapters.begin();
121     //  for (; it != m_adapters.end(); ++it) {
122     //    delete it->second;
123     //  }
124     //  m_adapters.clear();
125 }
126
127 //void Manager::attachListeners() {
128 //  int error = 0;
129 //
130 //  if ((error = net_register_client(&m_netEventCallbacks, this)) != NET_ERR_NONE) {
131 //    LogError("Could not register to datanetworking module (" << error << ").");
132 //  }
133 //
134 //  if ((error = wlan_client_register(wlanCallback, this)) != WLAN_ERR_NONE) {
135 //    LogError("Could not register to wifi module (" << error << ").");
136 //  }
137 //}
138 //
139 //void Manager::detachListeners() {
140 //  int error = 0;
141 //
142 //  if ((error = net_deregister_client()) != NET_ERR_NONE) {
143 //    LogError("Could not deregister from datanetworking module (" << error << ").");
144 //  }
145 //
146 //  if ((error = wlan_client_deregister()) != WLAN_ERR_NONE) {
147 //    LogError("Could not deregister from wifi module (" << error << ").");
148 //  }
149 //}
150
151 //void Manager::initConnections() {
152 //  int error;
153 //  int profile = 0;
154 //  char ssid[SSID_MAX_LENGTH + 1] = {0};
155 //  if ((error = wlan_client_get_connected_ap_info(&profile, ssid)) == WLAN_ERR_NONE) {
156 //    Adapter* connection = new Adapter();
157 //    connection->setType(Api::IAdapter::T_WIFI);
158 //    connection->setName(ssid);
159 //    m_connections.push_back(connection);
160 //  }
161 //  else {
162 //    LogError("Could not get wlan connection info (" << error << ").");
163 //  }
164 //}
165 //
166 //void Manager::clearConnections() {
167 //  Api::Connections::iterator it = m_connections.begin();
168 //  for (; it != m_connections.end(); ++it) {
169 //    delete *it;
170 //  }
171 //}
172 //
173 //net_event_callbacks Manager::getNetEventCallbacks() {
174 //  net_event_callbacks result = {0};
175 //  result.on_open_rsp = Manager::onNetConnectionOpen;
176 //  result.on_close_rsp = Manager::onNetConnectionClose;
177 //  result.on_kill_rsp = Manager::onNetConnectionKill;
178 //  result.on_net_status = Manager::onNetStatusChange;
179 //  return result;
180 //}
181 } // Networking
182 } // WrtDeviceApis