Squashed 'LYNQ_PUBLIC/' content from commit 79d8f932f
git-subtree-dir: LYNQ_PUBLIC
git-subtree-split: 79d8f932fb4ebc4b5aec6c5ace97634912394272
Change-Id: If2527ba937f56fe989487bf71e996f7cfd9fbe61
diff --git a/common_src/packages/apps/lynq-dev-test/src/LICENSE b/common_src/packages/apps/lynq-dev-test/src/LICENSE
new file mode 100644
index 0000000..77f59ed
--- /dev/null
+++ b/common_src/packages/apps/lynq-dev-test/src/LICENSE
@@ -0,0 +1,31 @@
+Copyright Statement:
+
+This software/firmware and related documentation ("MediaTek Software") are
+protected under relevant copyright laws. The information contained herein is
+confidential and proprietary to MediaTek Inc. and/or its licensors. Without
+the prior written permission of MediaTek inc. and/or its licensors, any
+reproduction, modification, use or disclosure of MediaTek Software, and
+information contained herein, in whole or in part, shall be strictly
+prohibited.
+
+MediaTek Inc. (C) 2015. All rights reserved.
+
+BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER
+ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL
+WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
+NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH
+RESPECT TO THE SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY,
+INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES
+TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO.
+RECEIVER EXPRESSLY ACKNOWLEDGES THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO
+OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES CONTAINED IN MEDIATEK
+SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE
+RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
+STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S
+ENTIRE AND CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE
+RELEASED HEREUNDER WILL BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE
+MEDIATEK SOFTWARE AT ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE
+CHARGE PAID BY RECEIVER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
diff --git a/common_src/packages/apps/lynq-dev-test/src/lynq_dev_test.c b/common_src/packages/apps/lynq-dev-test/src/lynq_dev_test.c
new file mode 100644
index 0000000..9d65d85
--- /dev/null
+++ b/common_src/packages/apps/lynq-dev-test/src/lynq_dev_test.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <log/log.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+//#include "libdev/lynq_dev_control.h"
+//#include "liblynq-media/lynq_medial.h"
+#ifdef __cplusplus
+}
+#endif
+static const char *devicename = "/data/ring.wav";
+#define LOG_TAG "DEV_TEST"
+int main(int argc, char **argv)
+{
+ char devicename[100] = {0};
+ char swversion[100] = {0};
+ char oemversion[100] = {0};
+ char manufacturer[100] = {0};
+ char hwversion[100] = {0};
+ int get_rtc ,set_rtc ,cancel_rtc,get_adc,get_usb_status;
+ struct tm timer_time;
+ gsdk_device_get_devicename(devicename);
+ printf("gsdk_device_get_devicename:%s \n",devicename);
+ gsdk_device_get_swversion(swversion);
+ printf("gsdk_device_get_swversion:%s \n",swversion);
+ gsdk_device_get_oemversion(oemversion);
+ printf("gsdk_device_get_oemversion:%s \n",oemversion);
+ gsdk_device_get_manufacturer(manufacturer);
+ printf("gsdk_device_get_manufacturer:%s \n",manufacturer);
+ gsdk_device_get_hwversion(hwversion);
+ printf("gsdk_device_get_hwversion:%s \n",hwversion);
+
+ //set_rtc = gsdk_device_set_rtc_timer();
+ //printf("gsdk_device_set_rtc_timer:%d \n",set_rtc);
+ //get_adc = gsdk_device_get_adc();
+ //printf("gsdk_device_get_adc:%d \n",get_adc);
+ //sleep(30);
+
+ //get_rtc = gsdk_device_get_rtc_timer(set_rtc,&timer_time);
+ //printf("gsdk_device_get_rtc_timer:%d,timer_time,year:%d\n",get_rtc,timer_time.tm_year);
+ //printf("timer_time,tm_mon:%d\n",timer_time.tm_mon);
+ //printf("timer_time,tm_mday:%d\n",timer_time.tm_mday);
+ //printf("timer_time,tm_hour:%d\n",timer_time.tm_hour);
+ //printf("timer_time,tm_min:%d\n",timer_time.tm_min);
+ //printf("timer_time,tm_sec:%d\n",timer_time.tm_sec);
+ //sleep(30);
+ //cancel_rtc = gsdk_device_cancel_rtc_timer(set_rtc);
+ //printf("gsdk_device_cancel_rtc_timer:%d \n",cancel_rtc);
+ //sleep(30);
+ get_usb_status = gsdk_device_get_usb_state();
+ printf("gsdk_device_get_usb_state,get_usb_status:%d\n",get_usb_status);
+ //gsdk_device_reboot_system();
+ //printf(" reboot_system");
+ while(1){sleep(10);}
+ return 0;
+}
\ No newline at end of file
diff --git "a/common_src/packages/apps/lynq-dev-test/src/lynq_testprocess\050gpio\051.tmp" "b/common_src/packages/apps/lynq-dev-test/src/lynq_testprocess\050gpio\051.tmp"
new file mode 100644
index 0000000..c07e271
--- /dev/null
+++ "b/common_src/packages/apps/lynq-dev-test/src/lynq_testprocess\050gpio\051.tmp"
@@ -0,0 +1,144 @@
+#include <stdio.h>
+#include <string.h>
+#include <pthread.h>
+#include <ctype.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <gio/gio.h>
+#include <log/log.h>
+#include <glib.h>
+#define GPIO_SERVICE "lynq.gpio" /*well-known bus name */
+#define GPIO_DATA_INTERFACE "lynq.gpio.Data" /*interface name*/
+#define GPIO_DATA_PATH "/lynq/gpio/data" /*object name*/
+GMainLoop *loop = NULL;
+GDBusProxy *proxy = NULL;
+#define LOG_TAG "GPIO_CONTROL"
+int set_gpio (gchar * mode,guint *gpio_numb,guint param)
+{
+ GDBusConnection *c1;
+ GVariant *result;
+ GError *error;
+ guint set_result = -1;
+ g_type_init();
+ loop = g_main_loop_new(NULL, FALSE); /** create main loop, but do not start it.*/
+ c1 = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
+ g_assert (c1 != NULL);
+ g_assert (!g_dbus_connection_is_closed (c1));
+ result = g_dbus_connection_call_sync (c1,
+ GPIO_SERVICE, /* bus name */
+ GPIO_DATA_PATH, /* object path */
+ GPIO_DATA_INTERFACE, /* interface name */
+ "setGpio", /* method name */
+ g_variant_new ("(sii)", mode,gpio_numb,param), /* parameters */
+ G_VARIANT_TYPE ("(i)"), /* return type */
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+ g_assert_no_error (error);
+ g_assert (result != NULL);
+ g_variant_get(result, "((i))", &(set_result));
+ g_variant_unref (result);
+ g_main_loop_run (loop);
+ g_main_loop_unref (loop);
+ return set_result;
+}
+int get_gpio (guint *gpio_numb)
+{
+ GDBusConnection *c1;
+ GVariant *result;
+ GError *error;
+ guint parm=0;
+ const gchar *set_result;
+ const gchar *mode ="gpio";
+ if(set_gpio(mode,gpio_numb,parm)== -1)
+ {
+ RLOGD("get_gpio number error");
+ return -1;
+ }
+ c1 = g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL);
+ g_assert (c1 != NULL);
+ g_assert (!g_dbus_connection_is_closed (c1));
+ result = g_dbus_connection_call_sync (c1,
+ GPIO_SERVICE, /* bus name */
+ GPIO_DATA_PATH, /* object path */
+ GPIO_DATA_INTERFACE, /* interface name */
+ "getGpio", /* method name */
+ NULL, /* parameters */
+ G_VARIANT_TYPE ("(s)"), /* return type */
+ G_DBUS_CALL_FLAGS_NONE,
+ -1,
+ NULL,
+ &error);
+ g_assert_no_error (error);
+ g_assert (result != NULL);
+ g_variant_get(result, "((s))", &(set_result));
+ RLOGD("get_gpio,%s",set_result);
+ g_variant_unref (result);
+ return 1;
+}
+void proxy_ready(GObject *source, GAsyncResult *result, gpointer user_data) {
+ GError *error;
+
+ error = NULL;
+ proxy = g_dbus_proxy_new_for_bus_finish(result, &error);
+ if (proxy == NULL) {
+ RLOGE("create proxy fail");
+ return ;
+ }
+ RLOGD("proxy is ready");
+ gulong signal_handler_id;
+
+ // signal_handler_id = g_signal_connect(proxy, "g-signal",
+ // G_CALLBACK (proxy_signals_on_signal), NULL);
+ // if (signal_handler_id == 0) {
+ // RLOGE("listen singal fail!");
+ // }
+}
+
+void* init_data_gdbus_cb(void *param)
+{
+ /* all the tests rely on a shared main loop */
+ loop = g_main_loop_new(NULL, FALSE);
+
+ g_dbus_proxy_new_for_bus(G_BUS_TYPE_SYSTEM,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL, /* GDBusInterfaceInfo */
+ GPIO_SERVICE, /* name */
+ GPIO_DATA_PATH, /* object path */
+ GPIO_DATA_INTERFACE, /* interface */
+ NULL, /* GCancellable */
+ proxy_ready,
+ NULL);
+
+ g_main_loop_run(loop);
+
+ RLOGD("data gdbus main loop run()");
+ if(proxy != NULL) {
+ g_object_unref (proxy);
+ }
+ if(loop != NULL) {
+ g_main_loop_unref(loop);
+ }
+}
+
+
+void startGdbusLoop(void)
+{
+ pthread_t gpioThread;
+
+ RLOGD("startGdbusLoop()");
+ // pthread_mutex_lock(&s_startupMutex);
+ pthread_attr_t attr;
+ pthread_attr_init(&attr);
+ pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
+
+ int result = pthread_create(&gpioThread, &attr, init_data_gdbus_cb, NULL);
+ if (result != 0) {
+ RLOGW("Failed to create gdbus thread: %s", strerror(result));
+ //goto done;
+ }
+//done:
+ // pthread_mutex_unlock(&s_startupMutex);
+}
diff --git a/common_src/packages/apps/lynq-dev-test/src/makefile b/common_src/packages/apps/lynq-dev-test/src/makefile
new file mode 100644
index 0000000..478152b
--- /dev/null
+++ b/common_src/packages/apps/lynq-dev-test/src/makefile
@@ -0,0 +1,67 @@
+SHELL = /bin/sh
+RM = rm -f
+
+LOCAL_CFLAGS := -Wall \
+ -g -Os \
+ -flto \
+ -DRIL_SHLIB \
+ -DATCI_PARSE \
+ -DKEEP_ALIVE \
+ -D__LINUX_OS__ \
+ -DECALL_SUPPORT
+
+CXXFLAGS = -fpermissive
+LOCAL_PATH = .
+#CFLAGS = $(LOCAL_CFLAGS) -std=c99
+#CXXFLAGS = $(LOCAL_CFLAGS) -std=gnu++14
+$(warning ################# ZHOUQUNCHAO ROOT: $(ROOT),includedir:$(includedir),LOCAL_PATH:$(LOCAL_PATH))
+LOCAL_C_INCLUDES = \
+ -I. \
+ -I$(LOCAL_PATH) \
+ -I$(ROOT)$(includedir)/logger \
+ -I$(ROOT)$(includedir)/vendor-ril \
+ -I$(ROOT)$(includedir)/liblynq-dev \
+ -I$(ROOT)$(includedir)/liblynq-media \
+ -I$(ROOT)$(includedir)/glib-2.0 \
+ -I$(ROOT)$(libdir)/glib-2.0/include \
+ -I$(ROOT)$(includedir)/dbus-1.0 \
+ -I$(ROOT)$(libdir)/dbus-1.0/include \
+
+LOCAL_C_INCLUDES+=$(DNS_FLAGS)
+
+LOCAL_LIBS := \
+ -L. \
+ -ldl \
+ -lstdc++ \
+ -llog \
+ -lcutils \
+ -lutils \
+ -lpthread \
+ -llynq-dev \
+ -llynq-media \
+ -lpal \
+ -lglib-2.0 \
+ -lgobject-2.0 \
+ -lgio-2.0 \
+ -lapn \
+ -ldbus-1 \
+
+LOCAL_SRC_FILES_CPP = $(wildcard *.cpp)
+LOCAL_SRC_FILES_C = $(wildcard *.c)
+EXECUTABLE = lynq-dev-test
+
+OBJECTS=$(LOCAL_SRC_FILES_CPP:.cpp=.o) $(LOCAL_SRC_FILES_C:.c=.o)
+all: $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CXX) $(OBJECTS) $(LOCAL_LIBS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@
+
+%.o: %.c
+ $(warning ----->build $<)
+ $(CC) $(LOCAL_C_INCLUDES) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $<
+%.o : %.cpp
+ $(CXX) $(LOCAL_C_INCLUDES) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $<
+
+.PHONY: clean
+clean:
+ $(RM) $(OBJECTS) $(EXECUTABLE)