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