1e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo/* Copyright (c) 2011-2012, The Linux Foundation. All rights reserved. 234ee09551764b045fdc02df754157473125edf60Kevin Tang * 334ee09551764b045fdc02df754157473125edf60Kevin Tang * Redistribution and use in source and binary forms, with or without 434ee09551764b045fdc02df754157473125edf60Kevin Tang * modification, are permitted provided that the following conditions are 534ee09551764b045fdc02df754157473125edf60Kevin Tang * met: 634ee09551764b045fdc02df754157473125edf60Kevin Tang * * Redistributions of source code must retain the above copyright 734ee09551764b045fdc02df754157473125edf60Kevin Tang * notice, this list of conditions and the following disclaimer. 834ee09551764b045fdc02df754157473125edf60Kevin Tang * * Redistributions in binary form must reproduce the above 934ee09551764b045fdc02df754157473125edf60Kevin Tang * copyright notice, this list of conditions and the following 1034ee09551764b045fdc02df754157473125edf60Kevin Tang * disclaimer in the documentation and/or other materials provided 1134ee09551764b045fdc02df754157473125edf60Kevin Tang * with the distribution. 12e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo * * Neither the name of The Linux Foundation, nor the names of its 1334ee09551764b045fdc02df754157473125edf60Kevin Tang * contributors may be used to endorse or promote products derived 1434ee09551764b045fdc02df754157473125edf60Kevin Tang * from this software without specific prior written permission. 1534ee09551764b045fdc02df754157473125edf60Kevin Tang * 1634ee09551764b045fdc02df754157473125edf60Kevin Tang * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 1734ee09551764b045fdc02df754157473125edf60Kevin Tang * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1834ee09551764b045fdc02df754157473125edf60Kevin Tang * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT 1934ee09551764b045fdc02df754157473125edf60Kevin Tang * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS 2034ee09551764b045fdc02df754157473125edf60Kevin Tang * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2134ee09551764b045fdc02df754157473125edf60Kevin Tang * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2234ee09551764b045fdc02df754157473125edf60Kevin Tang * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 2334ee09551764b045fdc02df754157473125edf60Kevin Tang * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2434ee09551764b045fdc02df754157473125edf60Kevin Tang * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 2534ee09551764b045fdc02df754157473125edf60Kevin Tang * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN 2634ee09551764b045fdc02df754157473125edf60Kevin Tang * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2734ee09551764b045fdc02df754157473125edf60Kevin Tang * 2834ee09551764b045fdc02df754157473125edf60Kevin Tang */ 2934ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdio.h> 3034ee09551764b045fdc02df754157473125edf60Kevin Tang#include <stdlib.h> 3134ee09551764b045fdc02df754157473125edf60Kevin Tang#include <string.h> 3234ee09551764b045fdc02df754157473125edf60Kevin Tang#include <unistd.h> 3334ee09551764b045fdc02df754157473125edf60Kevin Tang 3434ee09551764b045fdc02df754157473125edf60Kevin Tang#include "log_util.h" 35e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo#include "platform_lib_includes.h" 3634ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_eng_msg.h" 3734ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_eng_dmn_conn.h" 3834ee09551764b045fdc02df754157473125edf60Kevin Tang#include "loc_eng_dmn_conn_handler.h" 3934ee09551764b045fdc02df754157473125edf60Kevin Tang 4034ee09551764b045fdc02df754157473125edf60Kevin Tangvoid* loc_api_handle = NULL; 4134ee09551764b045fdc02df754157473125edf60Kevin Tang 4234ee09551764b045fdc02df754157473125edf60Kevin Tangint loc_eng_dmn_conn_loc_api_server_if_request_handler(struct ctrl_msgbuf *pmsg, int len) 4334ee09551764b045fdc02df754157473125edf60Kevin Tang{ 4434ee09551764b045fdc02df754157473125edf60Kevin Tang LOC_LOGD("%s:%d]\n", __func__, __LINE__); 4534ee09551764b045fdc02df754157473125edf60Kevin Tang#ifndef DEBUG_DMN_LOC_API 4634ee09551764b045fdc02df754157473125edf60Kevin Tang if (NULL == loc_api_handle) { 4734ee09551764b045fdc02df754157473125edf60Kevin Tang LOC_LOGE("%s:%d] NO agps data handle\n", __func__, __LINE__); 4834ee09551764b045fdc02df754157473125edf60Kevin Tang return 1; 4934ee09551764b045fdc02df754157473125edf60Kevin Tang } 5034ee09551764b045fdc02df754157473125edf60Kevin Tang 51e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo if (NULL != loc_api_handle) { 52e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo AGpsExtType type; 53e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo switch (pmsg->cmsg.cmsg_if_request.type) { 54e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_SUPL: 55e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 56e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_SUPL"); 57e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_SUPL; 58e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 59e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 60e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_WIFI: 61e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 62e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_WIFI"); 63e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_WIFI; 64e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 65e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 66e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_ANY: 67e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 68e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_ANY"); 69e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_ANY; 70e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 71e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 72e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo default: 73e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 74e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("invalid IF_REQUEST_TYPE!"); 75e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo return -1; 76e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 77e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 78e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo switch (pmsg->cmsg.cmsg_if_request.sender_id) { 79e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_QUIPC: 80e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 81e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_QUIPC"); 82e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 83e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 84e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 85e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC, 86e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 87e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 88e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo true); 89e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 90e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 91e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 92e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_MSAPM: 93e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 94e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPM"); 95e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 96e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 97e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 98e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM, 99e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 100e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 101e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo true); 102e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 103e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 104e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 105e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_MSAPU: 106e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 107e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPU"); 108e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 109e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 110e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 111e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_MSAPU, 112e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 113e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 114e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo true); 115e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 116e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 117e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 118e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_GPSONE_DAEMON: 119e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 120e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_GPSONE_DAEMON"); 121e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelBIT* msg = 122e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelBIT(loc_api_handle, 123e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 12434ee09551764b045fdc02df754157473125edf60Kevin Tang pmsg->cmsg.cmsg_if_request.ipv4_addr, 125e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ipv6_addr, 126e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo true); 127e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 128e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 129e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 130e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo default: 131e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 132e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("invalid IF_REQUEST_SENDER_ID!"); 133e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo return -1; 134e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 135e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 136e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 13734ee09551764b045fdc02df754157473125edf60Kevin Tang 13834ee09551764b045fdc02df754157473125edf60Kevin Tang#else 139e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo loc_eng_dmn_conn_loc_api_server_data_conn(LOC_ENG_IF_REQUEST_SENDER_ID_GPSONE_DAEMON, GPSONE_LOC_API_IF_REQUEST_SUCCESS); 14034ee09551764b045fdc02df754157473125edf60Kevin Tang#endif 14134ee09551764b045fdc02df754157473125edf60Kevin Tang return 0; 14234ee09551764b045fdc02df754157473125edf60Kevin Tang} 14334ee09551764b045fdc02df754157473125edf60Kevin Tang 14434ee09551764b045fdc02df754157473125edf60Kevin Tangint loc_eng_dmn_conn_loc_api_server_if_release_handler(struct ctrl_msgbuf *pmsg, int len) 14534ee09551764b045fdc02df754157473125edf60Kevin Tang{ 14634ee09551764b045fdc02df754157473125edf60Kevin Tang LOC_LOGD("%s:%d]\n", __func__, __LINE__); 14734ee09551764b045fdc02df754157473125edf60Kevin Tang#ifndef DEBUG_DMN_LOC_API 148e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo AGpsExtType type; 149e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo switch (pmsg->cmsg.cmsg_if_request.type) { 150e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_SUPL: 151e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 152e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_SUPL"); 153e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_SUPL; 154e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 155e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 156e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_WIFI: 157e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 158e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_WIFI"); 159e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_WIFI; 160e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 161e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 162e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_TYPE_ANY: 163e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 164e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_TYPE_ANY"); 165e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type = AGPS_TYPE_ANY; 166e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 167e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 168e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo default: 169e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 170e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("invalid IF_REQUEST_TYPE!"); 171e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo return -1; 172e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 173e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 174e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo switch (pmsg->cmsg.cmsg_if_request.sender_id) { 175e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_QUIPC: 176e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 177e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_QUIPC"); 178e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 179e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 180e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 181e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_QUIPC, 182e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 183e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 184e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo false); 185e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 186e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 187e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 188e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_MSAPM: 189e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 190e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPM"); 191e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 192e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 193e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 194e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_MSAPM, 195e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 196e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 197e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo false); 198e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 199e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 200e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 201e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_MSAPU: 202e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 203e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_MSAPU"); 204e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelWifi* msg = 205e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelWifi(loc_api_handle, 206e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 207e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_ENG_IF_REQUEST_SENDER_ID_MSAPU, 208e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ssid, 209e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.password, 210e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo false); 211e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 212e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 213e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 214e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo case IF_REQUEST_SENDER_ID_GPSONE_DAEMON: 215e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 216e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("IF_REQUEST_SENDER_ID_GPSONE_DAEMON"); 217e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LocEngReqRelBIT* msg = 218e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo new LocEngReqRelBIT(loc_api_handle, 219e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo type, 220e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo pmsg->cmsg.cmsg_if_request.ipv4_addr, 221e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo (char*)pmsg->cmsg.cmsg_if_request.ipv6_addr, 222e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo false); 223e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo msg->send(); 224e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo break; 225e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 226e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo default: 227e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo { 228e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo LOC_LOGD("invalid IF_REQUEST_SENDER_ID!"); 229e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo return -1; 230e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 231e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo } 23234ee09551764b045fdc02df754157473125edf60Kevin Tang#else 233e14a6c846df2ce4bb1847e4250991f7c52fd793dDante Russo loc_eng_dmn_conn_loc_api_server_data_conn(LOC_ENG_IF_REQUEST_SENDER_ID_GPSONE_DAEMON, GPSONE_LOC_API_IF_RELEASE_SUCCESS); 23434ee09551764b045fdc02df754157473125edf60Kevin Tang#endif 23534ee09551764b045fdc02df754157473125edf60Kevin Tang return 0; 23634ee09551764b045fdc02df754157473125edf60Kevin Tang} 23734ee09551764b045fdc02df754157473125edf60Kevin Tang 238