2 * Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
20 #include <gmock/gmock.h>
21 #include <gtest/gtest.h>
34 error_e Wmesh::Scan(void)
36 GVariant *message = NULL;
37 error_e error = ERROR_NONE;
39 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
41 WIFI_MESH_MGR_INTERFACE,
42 WIFI_MESH_MGR_METHOD_SCAN,
46 if (message == NULL) {
47 GLOGD("Failed to invoke dbus method");
51 GLOGD("Succeeded to perform scan");
55 error_e Wmesh::SpecificScan(char *mesh_id, int channel)
57 GVariant *message = NULL;
58 error_e error = ERROR_NONE;
60 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
62 WIFI_MESH_MGR_INTERFACE,
63 WIFI_MESH_MGR_METHOD_SPECIFIC_SCAN,
64 g_variant_new("(si)", mesh_id, channel),
67 if (message == NULL) {
68 GLOGD("Failed to invoke dbus method");
72 GLOGD("Succeeded to perform specific_scan");
76 error_e Wmesh::CancelScan(void)
78 GVariant *message = NULL;
79 error_e error = ERROR_NONE;
81 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
83 WIFI_MESH_MGR_INTERFACE,
84 WIFI_MESH_MGR_METHOD_CANCEL_SCAN,
88 if (message == NULL) {
89 GLOGD("Failed to invoke dbus method");
93 GLOGD("Succeeded to perform cancel_scan");
98 error_e Wmesh::GetFoundMeshNetworks(void)
100 GVariant *message = NULL;
101 error_e error = ERROR_NONE;
103 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
105 WIFI_MESH_MGR_INTERFACE,
106 WIFI_MESH_MGR_METHOD_GET_FOUND_MESH_NETWORKS,
110 if (message == NULL) {
111 GLOGD("Failed to invoke dbus method");
115 GLOGD("Succeeded to perform get_found_mesh_networks");
119 error_e Wmesh::GetConnectedPeers(void)
121 GVariant *message = NULL;
122 error_e error = ERROR_NONE;
124 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
126 WIFI_MESH_MGR_INTERFACE,
127 WIFI_MESH_MGR_METHOD_GET_CONNECTED_PEERS,
131 if (message == NULL) {
132 GLOGD("Failed to invoke dbus method");
136 GLOGD("Succeeded to perform get_connceted_peers");
140 error_e Wmesh::EnableMesh(void)
142 GVariant *message = NULL;
143 error_e error = ERROR_NONE;
145 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
147 WIFI_MESH_MGR_INTERFACE,
148 WIFI_MESH_MGR_METHOD_ENABLE_MESH,
152 if (message == NULL) {
153 GLOGD("Failed to invoke dbus method");
157 GLOGD("Succeeded to perform enable_mesh");
161 error_e Wmesh::DisableMesh(void)
163 GVariant *message = NULL;
164 error_e error = ERROR_NONE;
166 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
168 WIFI_MESH_MGR_INTERFACE,
169 WIFI_MESH_MGR_METHOD_DISABLE_MESH,
173 if (message == NULL) {
174 GLOGD("Failed to invoke dbus method");
178 GLOGD("Succeeded to perform disable_mesh");
182 error_e Wmesh::IsMeshEnabled(void)
184 GVariant *message = NULL;
185 error_e error = ERROR_NONE;
187 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
189 WIFI_MESH_MGR_INTERFACE,
190 WIFI_MESH_MGR_METHOD_IS_MESH_ENABLED,
194 if (message == NULL) {
195 GLOGD("Failed to invoke dbus method");
199 GLOGD("Succeeded to perform is_mesh_enabled");
203 error_e Wmesh::IsJoined(void)
205 GVariant *message = NULL;
206 error_e error = ERROR_NONE;
208 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
210 WIFI_MESH_MGR_INTERFACE,
211 WIFI_MESH_MGR_METHOD_IS_JOINED,
215 if (message == NULL) {
216 GLOGD("Failed to invoke dbus method");
220 GLOGD("Succeeded to perform is_joined");
224 error_e Wmesh::GetJoinedMeshNetwork(void)
226 GVariant *message = NULL;
227 error_e error = ERROR_NONE;
229 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
231 WIFI_MESH_MGR_INTERFACE,
232 WIFI_MESH_MGR_METHOD_GET_JOINED_MESH_NETWORK,
236 if (message == NULL) {
237 GLOGD("Failed to invoke dbus method");
241 GLOGD("Succeeded to perform get_joined_mesh_network");
245 error_e Wmesh::SetGate(bool gate_announce, int hwmp_root_mode, bool stp)
247 GVariant *message = NULL;
248 error_e error = ERROR_NONE;
250 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
252 WIFI_MESH_MGR_INTERFACE,
253 WIFI_MESH_MGR_METHOD_SET_GATE,
254 g_variant_new("(bqq)", gate_announce, hwmp_root_mode, stp),
257 if (message == NULL) {
258 GLOGD("Failed to invoke dbus method");
262 GLOGD("Succeeded to perform set_gate");
266 error_e Wmesh::UnsetGate(void)
268 GVariant *message = NULL;
269 error_e error = ERROR_NONE;
271 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
273 WIFI_MESH_MGR_INTERFACE,
274 WIFI_MESH_MGR_METHOD_UNSET_GATE,
278 if (message == NULL) {
279 GLOGD("Failed to invoke dbus method");
283 GLOGD("Succeeded to perform unset_gate");
287 error_e Wmesh::SetSoftap(char *ssid, char *passphrase, int channel,
288 int visibility, int max_stations, int security)
290 GVariant *message = NULL;
291 error_e error = ERROR_NONE;
302 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
304 WIFI_MESH_MGR_INTERFACE,
305 WIFI_MESH_MGR_METHOD_SET_SOFTAP,
306 g_variant_new("(sssiiii)", ssid, passphrase, buf,
307 channel, visibility, max_stations, security),
310 if (message == NULL) {
311 GLOGD("Failed to invoke dbus method");
315 GLOGD("Succeeded to perform set_softap");
319 error_e Wmesh::GetSoftap(void)
321 GVariant *message = NULL;
322 error_e error = ERROR_NONE;
324 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
326 WIFI_MESH_MGR_INTERFACE,
327 WIFI_MESH_MGR_METHOD_GET_SOFTAP,
331 if (message == NULL) {
332 GLOGD("Failed to invoke dbus method");
336 GLOGD("Succeeded to perform get_softap");
340 error_e Wmesh::EnableSoftap(void)
342 GVariant *message = NULL;
343 error_e error = ERROR_NONE;
345 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
347 WIFI_MESH_MGR_INTERFACE,
348 WIFI_MESH_MGR_METHOD_ENABLE_SOFTAP,
352 if (message == NULL) {
353 GLOGD("Failed to invoke dbus method");
357 GLOGD("Succeeded to perform enabe_softap");
361 error_e Wmesh::DisableSoftap(void)
363 GVariant *message = NULL;
364 error_e error = ERROR_NONE;
366 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
368 WIFI_MESH_MGR_INTERFACE,
369 WIFI_MESH_MGR_METHOD_DISABLE_SOFTAP,
373 if (message == NULL) {
374 GLOGD("Failed to invoke dbus method");
378 GLOGD("Succeeded to perform disable_softap");
382 error_e Wmesh::IsSoftapEnabled(void)
384 GVariant *message = NULL;
385 error_e error = ERROR_NONE;
387 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
389 WIFI_MESH_MGR_INTERFACE,
390 WIFI_MESH_MGR_METHOD_IS_SOFTAP_ENABLED,
394 if (message == NULL) {
395 GLOGD("Failed to invoke dbus method");
399 GLOGD("Succeeded to perform is_softap_enabled");
403 error_e Wmesh::CreateMeshNetwork(char *mesh_id, int channel, int security,
406 GVariant *message = NULL;
407 error_e error = ERROR_NONE;
409 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
411 WIFI_MESH_MGR_INTERFACE,
412 WIFI_MESH_MGR_METHOD_CREATE_MESH_NETWORK,
413 g_variant_new("(siii)", mesh_id, channel, security, pmf),
416 if (message == NULL) {
417 GLOGD("Failed to invoke dbus method");
421 GLOGD("Succeeded to perform create_mesh_network");
425 error_e Wmesh::ConnectMeshNetwork(char *mesh_id, int channel, int security,
428 GVariant *message = NULL;
429 error_e error = ERROR_NONE;
431 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
433 WIFI_MESH_MGR_INTERFACE,
434 WIFI_MESH_MGR_METHOD_CONNECT_MESH_NETWORK,
435 g_variant_new("(siis)", mesh_id, channel, security, passphrase),
438 if (message == NULL) {
439 GLOGD("Failed to invoke dbus method");
443 GLOGD("Succeeded to perform connect_mesh_network");
447 error_e Wmesh::DisconnectMeshNetwork(char *mesh_id, int channel, int security)
449 GVariant *message = NULL;
450 error_e error = ERROR_NONE;
452 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
454 WIFI_MESH_MGR_INTERFACE,
455 WIFI_MESH_MGR_METHOD_DISCONNECT_MESH_NETWORK,
456 g_variant_new("(sii)", mesh_id, channel, security),
459 if (message == NULL) {
460 GLOGD("Failed to invoke dbus method");
464 GLOGD("Succeeded to perform disconnect_mesh_network");
468 error_e Wmesh::ForgetMeshNetwork(char *mesh_id, int channel, int security)
470 GVariant *message = NULL;
471 error_e error = ERROR_NONE;
473 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
475 WIFI_MESH_MGR_INTERFACE,
476 WIFI_MESH_MGR_METHOD_FORGET_MESH_NETWORK,
477 g_variant_new("(sii)", mesh_id, channel, security),
480 if (message == NULL) {
481 GLOGD("Failed to invoke dbus method");
485 GLOGD("Succeeded to perform forget_mesh_network");
489 error_e Wmesh::SetInterfaces(char *mesh, char *gate, char *softap)
491 GVariant *message = NULL;
492 error_e error = ERROR_NONE;
494 message = InvokeMethod(WIFI_MESH_MGR_SERVICE,
496 WIFI_MESH_MGR_INTERFACE,
497 WIFI_MESH_MGR_METHOD_SET_INTERFACES,
498 g_variant_new("(sss)", mesh, gate, softap),
501 if (message == NULL) {
502 GLOGD("Failed to invoke dbus method");
506 GLOGD("Succeeded to perform set_interfaces");
510 error_e Wmesh::GetStationInfo(int sta_type)
513 GVariant *msg1 = NULL;
514 GVariant *msg2 = NULL;
515 error_e error = ERROR_NONE;
517 msg1 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
519 WIFI_MESH_MGR_INTERFACE,
520 WIFI_MESH_MGR_METHOD_IS_MESH_ENABLED,
525 GLOGD("Failed to invoke dbus method");
529 g_variant_get(msg1, "(b)", &is_started);
530 g_variant_unref(msg1);
531 if (TRUE == is_started) {
532 msg2 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
534 WIFI_MESH_MGR_INTERFACE,
535 WIFI_MESH_MGR_METHOD_GET_STATION_INFO,
536 g_variant_new("(i)", sta_type),
540 GLOGD("Failed to invoke dbus method");
543 g_variant_unref(msg2);
546 GLOGD("Succeeded to perform get_station_info");
551 error_e Wmesh::GetMpathInfo(void)
554 GVariant *msg1 = NULL;
555 GVariant *msg2 = NULL;
556 error_e error = ERROR_NONE;
558 msg1 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
560 WIFI_MESH_MGR_INTERFACE,
561 WIFI_MESH_MGR_METHOD_IS_MESH_ENABLED,
566 GLOGD("Failed to invoke dbus method");
570 g_variant_get(msg1, "(b)", &is_started);
571 g_variant_unref(msg1);
572 if (TRUE == is_started) {
573 msg2 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
575 WIFI_MESH_MGR_INTERFACE,
576 WIFI_MESH_MGR_METHOD_GET_MPATH_INFO,
581 GLOGD("Failed to invoke dbus method");
584 g_variant_unref(msg2);
587 GLOGD("Succeeded to perform get_mpath_info");
592 error_e Wmesh::GetMeshconfInfo(void)
595 GVariant *msg1 = NULL;
596 GVariant *msg2 = NULL;
597 error_e error = ERROR_NONE;
599 msg1 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
601 WIFI_MESH_MGR_INTERFACE,
602 WIFI_MESH_MGR_METHOD_IS_MESH_ENABLED,
607 GLOGD("Failed to invoke dbus method");
611 g_variant_get(msg1, "(b)", &is_started);
612 g_variant_unref(msg1);
613 if (TRUE == is_started) {
614 msg2 = InvokeMethod(WIFI_MESH_MGR_SERVICE,
616 WIFI_MESH_MGR_INTERFACE,
617 WIFI_MESH_MGR_METHOD_GET_MESHCONF_INFO,
622 GLOGD("Failed to invoke dbus method");
625 g_variant_unref(msg2);
628 GLOGD("Succeeded to perform get_meshconf_info");