RDK Documentation (Open Sourced RDK Components)
mfr_wifiSetCredentials.c
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2016 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 
21 /**
22 * @defgroup iarmmgrs
23 * @{
24 * @defgroup mfr
25 * @{
26 **/
27 
28 
29 #include "libIBus.h"
30 #include <stdio.h>
31 #include <stdlib.h>
32 #include <unistd.h>
33 #include <string.h>
34 #include "mfrMgr.h"
35 #include "safec_lib.h"
36 
37 #define SAFEC_ERR_CHECK(safec_rc) if(safec_rc != EOK) {\
38 ERR_CHK(safec_rc); \
39 goto Error; \
40 }
41 
42 int main(int argc, char** argv)
43 {
44 #ifdef ENABLE_MFR_WIFI
45  int i = 0;
47  errno_t safec_rc = -1;
48 
49  if(argc < 3)
50  {
51  printf("usage is : ./mfr_wifiSetCredentials <SSID Name> <SSID Password> <Security mode>\n");
52  return -1;
53  }
54 
55  printf("Client Entering\r\n");
56  IARM_Bus_Init("wifiSetCredentials");
58 
59  param.requestType=WIFI_SET_CREDENTIALS;
60  safec_rc = strcpy_s(param.wifiCredentials.cSSID, sizeof(param.wifiCredentials.cSSID), argv[1]);
61  SAFEC_ERR_CHECK(safec_rc);
62 
63  safec_rc = strcpy_s(param.wifiCredentials.cPassword, sizeof(param.wifiCredentials.cPassword), argv[2]);
64  SAFEC_ERR_CHECK(safec_rc);
65 
66  if(argc < 4){
67  param.wifiCredentials.iSecurityMode=-1;
68  }
69  else{
70  param.wifiCredentials.iSecurityMode=atoi(argv[3]);
71  }
72 
73  if(IARM_RESULT_SUCCESS == IARM_Bus_Call(IARM_BUS_MFRLIB_NAME,IARM_BUS_MFRLIB_API_WIFI_Credentials,(void *)&param,sizeof(param)))
74  {
75  printf("IARM_Bus_Call Success...\n");
76  }
77  else
78  {
79  printf("Problem with IARM_Bus_Call \n");
80  }
81 
82  while(getchar()!='x') {
83  sleep(1);
84  }
85 
86 Error:
88  IARM_Bus_Term();
89  printf("Client Exiting\r\n");
90 #else
91  printf("WIFI NOT SUPPORTED IN THIS DEVICE Exiting\r\n");
92 #endif
93 }
IARM_Bus_Term
IARM_Result_t IARM_Bus_Term(void)
This API is used to terminate the IARM-Bus library.
IARM_Bus_Call
IARM_Result_t IARM_Bus_Call(const char *ownerName, const char *methodName, void *arg, size_t argLen)
This API is used to Invoke RPC method by its application name and method name.
Definition: iarm_bus.c:57
IARM_Bus_Disconnect
IARM_Result_t IARM_Bus_Disconnect(void)
This API disconnect Application from IARM Bus so the application will not receive any IARM event or R...
libIBus.h
RDK IARM-Bus API Declarations.
_IARM_BUS_MFRLIB_API_WIFI_Credentials_Param_t
Definition: mfrMgr.h:144
IARM_BUS_MFRLIB_NAME
#define IARM_BUS_MFRLIB_NAME
Definition: mfrMgr.h:98
IARM_Bus_Connect
IARM_Result_t IARM_Bus_Connect(void)
This API is used to connect application to the IARM bus daemon. After connected, the application can ...
Definition: iarmMgrMocks.cpp:33
IARM_Bus_Init
IARM_Result_t IARM_Bus_Init(const char *name)
This API is used to initialize the IARM-Bus library.
Definition: iarmMgrMocks.cpp:38