1e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. 2e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 3e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * Redistribution and use in source and binary forms, with or without 4e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * modification, are permitted provided that the following conditions are 5e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * met: 6e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions of source code must retain the above copyright 7e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * notice, this list of conditions and the following disclaimer. 8e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Redistributions in binary form must reproduce the above 9e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * copyright notice, this list of conditions and the following 10e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * disclaimer in the documentation and/or other materials provided 11e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * with the distribution. 12e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * * Neither the name of The Linux Foundation, nor the names of its 13e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * contributors may be used to endorse or promote products derived 14e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * from this software without specific prior written permission. 15e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 16e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 17e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 19e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 20e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 23e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 24e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 25e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 26e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti * 28e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti */ 29e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <stdio.h> 30e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <stdlib.h> 31e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <string.h> 32e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include <unistd.h> 33e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 34e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "log_util.h" 35e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "platform_lib_includes.h" 36e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "loc_eng_msg.h" 37e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "loc_eng_dmn_conn.h" 38e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#include "loc_eng_dmn_conn_handler.h" 39e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 40e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletivoid* loc_api_handle = NULL; 41e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 42e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_dmn_conn_loc_api_server_if_request_handler(struct ctrl_msgbuf *pmsg, int len) 43e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 44e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("%s:%d]\n", __func__, __LINE__); 45e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#ifndef DEBUG_DMN_LOC_API 46e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (NULL == loc_api_handle) { 47e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGE("%s:%d] NO agps data handle\n", __func__, __LINE__); 48e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 1; 49e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 50e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 51e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti if (NULL != loc_api_handle) { 52e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti AGpsExtType type; 53e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti switch (pmsg->cmsg.cmsg_if_request.type) { 54e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_SUPL: 55e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 56e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_SUPL"); 57e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_SUPL; 58e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 59e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 60e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_WIFI: 61e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 62e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_WIFI"); 63e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_WIFI; 64e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 65e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 66e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_ANY: 67e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 68e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_ANY"); 69e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_ANY; 70e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 71e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 72e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti default: 73e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 74e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("invalid IF_REQUEST_TYPE!"); 75e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return -1; 76e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 77e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 78e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti switch (pmsg->cmsg.cmsg_if_request.sender_id) { 79e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_QUIPC: 80e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 81e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_QUIPC"); 82e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 83e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 84e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 85e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC, 86e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 87e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 88e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti true); 89e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 90e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 91e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 92e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_MSAPM: 93e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 94e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPM"); 95e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 96e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 97e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 98e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM, 99e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 100e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 101e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti true); 102e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 103e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 104e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 105e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_MSAPU: 106e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 107e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPU"); 108e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 109e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 110e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 111e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_MSAPU, 112e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 113e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 114e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti true); 115e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 116e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 117e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 118e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_GPSONE_DAEMON: 119e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 120e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_GPSONE_DAEMON"); 121e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelBIT* msg = 122e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelBIT(loc_api_handle, 123e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 124e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti pmsg->cmsg.cmsg_if_request.ipv4_addr, 125e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ipv6_addr, 126e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti true); 127e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 128e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 129e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 130e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti default: 131e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 132e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("invalid IF_REQUEST_SENDER_ID!"); 133e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return -1; 134e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 135e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 136e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 137e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 138e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#else 139e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti loc_eng_dmn_conn_loc_api_server_data_conn(LOC_ENG_IF_REQUEST_SENDER_ID_GPSONE_DAEMON, GPSONE_LOC_API_IF_REQUEST_SUCCESS); 140e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#endif 141e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 0; 142e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 143e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 144e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuletiint loc_eng_dmn_conn_loc_api_server_if_release_handler(struct ctrl_msgbuf *pmsg, int len) 145e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti{ 146e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("%s:%d]\n", __func__, __LINE__); 147e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#ifndef DEBUG_DMN_LOC_API 148e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti AGpsExtType type; 149e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti switch (pmsg->cmsg.cmsg_if_request.type) { 150e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_SUPL: 151e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 152e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_SUPL"); 153e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_SUPL; 154e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 155e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 156e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_WIFI: 157e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 158e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_WIFI"); 159e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_WIFI; 160e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 161e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 162e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_TYPE_ANY: 163e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 164e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_TYPE_ANY"); 165e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type = AGPS_TYPE_ANY; 166e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 167e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 168e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti default: 169e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 170e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("invalid IF_REQUEST_TYPE!"); 171e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return -1; 172e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 173e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 174e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti switch (pmsg->cmsg.cmsg_if_request.sender_id) { 175e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_QUIPC: 176e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 177e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_QUIPC"); 178e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 179e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 180e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 181e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC, 182e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 183e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 184e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti false); 185e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 186e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 187e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 188e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_MSAPM: 189e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 190e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPM"); 191e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 192e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 193e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 194e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM, 195e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 196e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 197e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti false); 198e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 199e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 200e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 201e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_MSAPU: 202e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 203e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPU"); 204e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelWifi* msg = 205e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelWifi(loc_api_handle, 206e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 207e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_ENG_IF_REQUEST_SENDER_ID_MSAPU, 208e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ssid, 209e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.password, 210e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti false); 211e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 212e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 213e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 214e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti case IF_REQUEST_SENDER_ID_GPSONE_DAEMON: 215e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 216e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("IF_REQUEST_SENDER_ID_GPSONE_DAEMON"); 217e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LocEngReqRelBIT* msg = 218e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti new LocEngReqRelBIT(loc_api_handle, 219e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti type, 220e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti pmsg->cmsg.cmsg_if_request.ipv4_addr, 221e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti (char*)pmsg->cmsg.cmsg_if_request.ipv6_addr, 222e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti false); 223e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti msg->send(); 224e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti break; 225e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 226e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti default: 227e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti { 228e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti LOC_LOGD("invalid IF_REQUEST_SENDER_ID!"); 229e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return -1; 230e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 231e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti } 232e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#else 233e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti loc_eng_dmn_conn_loc_api_server_data_conn(LOC_ENG_IF_REQUEST_SENDER_ID_GPSONE_DAEMON, GPSONE_LOC_API_IF_RELEASE_SUCCESS); 234e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti#endif 235e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti return 0; 236e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti} 237e7c98642e1e156ea6cde1238cd0006f669cfb696Uday Kishore Pasupuleti 238