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