blob: 009f52f13d7299f4671d2d337876e66f52f797ba [file] [log] [blame]
xjde81d1d2021-11-25 15:01:52 +08001#include <stdio.h>
2#include <sys/types.h>
3#include <sys/socket.h>
4#include <arpa/inet.h>
5#include<stdlib.h>
6#include <netinet/in.h>
7#include <strings.h>
8#include <stdlib.h>
9#include <dlfcn.h>
10#include "nadif.h"
11#include "nadif_hal_service.h"
12#include "nadif_hal_service_types.h"
13#include "liblog/liblog.h"
14#include "liblog/lynq_deflog.h"
15#include <vendor-ril/telephony/ril.h>
16#include <errno.h>
17#include "lynq-conti-plugin-response.h"
18
19#define USER_LOG_TAG "CONTI-PLUGIN-TEST"
20
21NADIF_HAL_SVC_ID req_sv_id = 0;
22
23typedef const NADIF_HAL_PluginFunctions *(*PLUGIN_INIT)(const NADIF_HAL_Callbacks *callbacks, void *token);
24
25const char *conti_plugin_path = "/lib64/liblynq-conti-plugin.so";
26
27static void conti_plugin_response(void *data, size_t datalen, NADIF_RESULT res, void *token);
28
29static void conti_plugin_unsol_response(NADIF_HAL_SVC_ID command, void *data, size_t datalen);
30
31static NADIF_RESULT conti_plugin_db_write(const gchar *key, const void *data, const size_t datalen);
32
33static NADIF_RESULT conti_plugin_db_read(const gchar *key, void *data, size_t datalen);
34
35static void conti_plugin_status(void *data, size_t datalen, void *init_token);
36
37NADIF_HAL_PluginFunctions *pluginFunctions = NULL;
38NADIF_HAL_Callbacks conti_callbacks =
39 {
40 conti_plugin_response,
41 conti_plugin_unsol_response,
42 conti_plugin_db_write,
43 conti_plugin_db_read,
44 conti_plugin_status,
45 };
46
47int main(int argc, const char *argv[]) {
48 //LYLOGEINIT(USER_LOG_TAG);
49 printf("conti Plugin test demo\n");
50
51#if 1
52 void *handle = dlopen(conti_plugin_path, RTLD_LAZY);
53 printf("conti Plugin test demo: %d\n", __LINE__);
54 if (!handle) {
55 printf("[%s][%d]dlopen get error: %s\n", __FILE__, __LINE__, dlerror());
56 exit(EXIT_FAILURE);
57 }
58 printf("conti Plugin test demo: %d\n", __LINE__);
59
60
61 PLUGIN_INIT plugin_init = (PLUGIN_INIT) dlsym(handle, "plugin_init");
62 printf("conti Plugin test demo: %d\n", __LINE__);
63 if (!plugin_init) {
64 printf("plugin_init error:%s\n", dlerror());
65 }
66
67 pluginFunctions = plugin_init(&conti_callbacks, "test");
68 printf("conti Plugin test demo: %d\n", __LINE__);
69
70
71 if (NULL != pluginFunctions)
72 printf("plugin init is ok\n");
73#endif
74
75 while (1) {
76 req_sv_id = NADIF_HAL_SVC_GET_IMSI;
77 char test_buf[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
78 pluginFunctions->plugin_request(req_sv_id, test_buf, 10, "test");
79 printf("conti-test: sv_iid=%d\n", req_sv_id);
80 sleep(2);
81 req_sv_id = NADIF_HAL_SVC_GET_VOICE_CALL_INFO;
82 char *phone_num = "+8615826484140";
83 pluginFunctions->plugin_request(req_sv_id, phone_num, strlen(phone_num), "test");
84 sleep(2);
85 }
86 return 0;
87}
88
89static void conti_plugin_response(void *data, size_t datalen, NADIF_RESULT res, void *token) {
90 list_param_for_sv_id(req_sv_id, data);
91 printf("[%s][%s][%d]:dataLen=%d, res=%d\n", __FILE__, __FUNCTION__, __LINE__, datalen, res);
92}
93
94static void conti_plugin_unsol_response(NADIF_HAL_SVC_ID command, void *data, size_t datalen) {
95 list_param_for_sv_id(command, data);
96 printf("[%s][%s][%d]:id=%d, dataLen=%d\n", __FILE__, __FUNCTION__, __LINE__, command, datalen);
97}
98
99static NADIF_RESULT conti_plugin_db_write(const gchar *key, const void *data, const size_t datalen) {
100 printf("[%s][%s][%d]:key=%s, dataLen=%d\n", __FILE__, __FUNCTION__, __LINE__, key, datalen);
101 return NADIF_RESULT_SUCCESS;
102}
103
104static NADIF_RESULT conti_plugin_db_read(const gchar *key, void *data, size_t datalen) {
105 printf("[%s][%s][%d]:key=%s, res=%d\n", __FILE__, __FUNCTION__, __LINE__, key, datalen);
106 return NADIF_RESULT_SUCCESS;
107}
108
109static void conti_plugin_status(void *data, size_t datalen, void *init_token) {
110 printf("[%s][%s][%d]:dataLen=%d\n", __FILE__, __FUNCTION__, __LINE__, datalen);
111}