src/evdi.cpp
src/emuld_proc.cpp
src/client.cpp
- src/get_status.cpp
src/device.cpp
)
#include "emuld_common.h"
#include "evdi_protocol.h"
#include "evdi.h"
-#include "emuld_proc.h"
/* definition */
#define MAX_CLIENT 10000
bool msgproc_telephony(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
bool msgproc_sensor(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
bool msgproc_location(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
-bool msgproc_nfc(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
bool msgproc_system(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
bool msgproc_sdcard(const int sockfd, ijcommand* ijcmd, const bool is_evdi);
#define LOCATION_STATUS 120
-#define NFC_STATUS 121
#define PATH_SENSOR_ACCEL_XYZ "/sys/devices/virtual/sensor/accel/xyz"
#define PATH_SENSOR_PROXI_VO "/sys/devices/virtual/sensor/proxi/vo"
#define PATH_SENSOR_GYRO_Y_RAW "/sys/devices/virtual/sensor/gyro/gyro_y_raw"
#define PATH_SENSOR_GYRO_Z_RAW "/sys/devices/virtual/sensor/gyro/gyro_z_raw"
#define PATH_SENSOR_GEO_TESLA "/sys/devices/virtual/sensor/geo/tesla"
-#define PATH_NFC_DATA "/sys/devices/virtual/network/nfc/data"
+#define PATH_SENSOR_GYRO_X_RAW "/sys/devices/virtual/sensor/gyro/gyro_x_raw"
+#define PATH_SENSOR_GYRO_Y_RAW "/sys/devices/virtual/sensor/gyro/gyro_y_raw"
+#define PATH_SENSOR_GYRO_Z_RAW "/sys/devices/virtual/sensor/gyro/gyro_z_raw"
+
+#define PATH_BATTERY_CAPACITY "sys/class/power_supply/battery/capacity"
+#define PATH_BATTERY_CHARGER_ON "/sys/devices/platform/jack/charger_online"
+#define PATH_BATTERY_CHARGE_FULL "/sys/class/power_supply/battery/charge_full"
+#define PATH_BATTERY_CHARGE_NOW "/sys/class/power_supply/battery/charge_now"
+
+#define PATH_JACK_EARJACK "/sys/devices/platform/jack/earjack_online"
+#define PATH_JACK_USB "/sys/devices/platform/jack/usb_online"
struct LXT_MESSAGE// lxt_message
{
// Location
char* get_location_status(void* , bool);
-// NFC
-char* get_nfc_status(void* , bool);
+// SD Card
+int is_mounted(void);
+void* mount_sdcard(void* data);
+int umount_sdcard(const int fd);
+
+void send_guest_server(char* databuf);
struct _auto_mutex
{
+++ /dev/null
-/*
- * emulator-daemon
- *
- * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact:
- * Jinhyung Choi <jinhyung2.choi@samsnung.com>
- * SooYoung Ha <yoosah.ha@samsnung.com>
- * Sungmin Ha <sungmin82.ha@samsung.com>
- * Daiyoung Kim <daiyoung777.kim@samsung.com>
- * YeongKyoon Lee <yeongkyoon.lee@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributors:
- * - S-Core Co., Ltd
- *
- */
-
-#ifndef __emuld_proc_h__
-#define __emuld_proc_h__
-
-
-int is_mounted(void);
-void* mount_sdcard(void* data);
-int umount_sdcard(const int fd);
-
-void send_guest_server(char* databuf);
-
-#endif
Name: emuld
-Version: 0.4.2
+Version: 0.4.3
Release: 0
Summary: Emulator daemon
License: Apache-2.0
#include <pthread.h>
#include <stdarg.h>
-#define SENSOR_DEBUG
+#include <vconf/vconf.h>
+#include <vconf/vconf-keys.h>
#include "emuld.h"
-#include "emuld_proc.h"
+#include "emuld_common.h"
static int battery_level = 50;
pthread_t d_tid[16];
SENSOR_MOTION_MOVE_MOVETOCALL = 1
};
-#define PATH_SENSOR_ACCEL_XYZ "/sys/devices/virtual/sensor/accel/xyz"
-#define PATH_SENSOR_PROXI_VO "/sys/devices/virtual/sensor/proxi/vo"
-#define PATH_SENSOR_LIGHT_ADC "/sys/devices/virtual/sensor/light/adc"
-#define PATH_SENSOR_LIGHT_LEVEL "/sys/devices/virtual/sensor/light/level"
-#define PATH_SENSOR_GEO_RAW "/sys/devices/virtual/sensor/geo/raw"
-#define PATH_SENSOR_GEO_TESLA "/sys/devices/virtual/sensor/geo/tesla"
-#define PATH_SENSOR_GYRO_X_RAW "/sys/devices/virtual/sensor/gyro/gyro_x_raw"
-#define PATH_SENSOR_GYRO_Y_RAW "/sys/devices/virtual/sensor/gyro/gyro_y_raw"
-#define PATH_SENSOR_GYRO_Z_RAW "/sys/devices/virtual/sensor/gyro/gyro_z_raw"
-
int check_nodes();
int parse_motion_data(int len, char *buffer);
charger = 1;
}
- fd = fopen("/sys/class/power_supply/battery/capacity", "w");
+ fd = fopen(PATH_BATTERY_CAPACITY, "w");
if(!fd)
{
LOGERR("fopen fail");
fprintf(fd, "%d", level);
fclose(fd);
- fd = fopen("/sys/devices/platform/jack/charger_online", "r");
+ fd = fopen(PATH_BATTERY_CHARGER_ON, "r");
if(!fd)
{
LOGERR("fopen fail");
}
LOGDEBUG("charge_full: %d", charge_full);
- fd = fopen("/sys/class/power_supply/battery/charge_full", "w");
+ fd = fopen(PATH_BATTERY_CHARGE_FULL, "w");
if(!fd)
{
LOGERR("charge_full fopen fail");
if(charger_online == 1)
{
- fd = fopen("/sys/class/power_supply/battery/charge_now", "w");
+ fd = fopen(PATH_BATTERY_CHARGE_NOW, "w");
if(!fd)
{
LOGERR("charge_now fopen fail");
len += len1;
charger = atoi(tmpbuf);
- fd = fopen("/sys/devices/platform/jack/charger_online", "w");
+ fd = fopen(PATH_BATTERY_CHARGER_ON, "w");
if(!fd)
{
LOGERR("charger_online fopen fail");
fprintf(fd, "%d", charger);
fclose(fd);
- fd = fopen("/sys/class/power_supply/battery/charge_full", "w");
+ fd = fopen(PATH_BATTERY_CHARGE_FULL, "w");
if(!fd)
{
LOGERR("charge_full fopen fail");
system_msg("/usr/bin/sys_event device_charge_chgdet");
- fd = fopen("/sys/class/power_supply/battery/charge_now", "w");
+ fd = fopen(PATH_BATTERY_CHARGE_NOW, "w");
if(!fd)
{
LOGERR("charge_now fopen fail");
x = atoi(tmpbuf);
- fd = fopen("/sys/devices/platform/jack/earjack_online", "w");
+ fd = fopen(PATH_JACK_EARJACK, "w");
if(!fd)
{
LOGERR("earjack_online fopen fail");
x = atoi(tmpbuf);
- fd = fopen("/sys/devices/platform/jack/usb_online", "w");
+ fd = fopen(PATH_JACK_USB, "w");
if(!fd)
{
LOGERR("usb_online fopen fail");
z = -1961330;
LOGINFO("z: %d", z);
- dstFD = fopen("/opt/sensor/accel/xyz", "w");
+ dstFD = fopen(PATH_SENSOR_ACCEL_XYZ, "w");
if(!dstFD)
{
LOGINFO("fopen fail");
z = -571;
LOGINFO("z: %d", z);
- dstFD = fopen("/opt/sensor/gyro/gyro_x_raw", "w");
+ dstFD = fopen(PATH_SENSOR_GYRO_X_RAW, "w");
if(!dstFD)
{
LOGINFO("fopen fail");
fprintf(dstFD, "%d",x);
fclose(dstFD);
- dstFD = fopen("/opt/sensor/gyro/gyro_y_raw", "w");
+ dstFD = fopen(PATH_SENSOR_GYRO_Y_RAW, "w");
if(!dstFD)
{
LOGINFO("fopen fail");
fprintf(dstFD, "%d",y);
fclose(dstFD);
- dstFD = fopen("/opt/sensor/gyro/gyro_z_raw", "w");
+ dstFD = fopen(PATH_SENSOR_GYRO_Z_RAW, "w");
if(!dstFD)
{
LOGINFO("fopen fail");
break;
}
}
+
+static int inline get_message(char* message, int status, int buf_len, bool is_evdi)
+{
+ if (is_evdi) {
+ sprintf(message, "%d", status);
+ return strlen(message);
+ } else {
+ // int to byte
+ message[3] = (char) (status & 0xff);
+ message[2] = (char) (status >> 8 & 0xff);
+ message[1] = (char) (status >> 16 & 0xff);
+ message[0] = (char) (status >> 24 & 0xff);
+ message[4] = '\0';
+ }
+
+ return 4;
+}
+
+static int inline get_status(const char* filename)
+{
+ int ret;
+ int status = 0;
+ FILE* fd = fopen(filename, "r");
+ if(!fd)
+ return -1;
+
+ ret = fscanf(fd, "%d", &status);
+ fclose(fd);
+
+ if (ret < 0) {
+ return ret;
+ }
+
+ return status;
+}
+
+static int inline get_file_status(char* msg, const char* filename, int buf_len, bool is_evdi)
+{
+ int status = get_status(filename);
+ if (status < 0)
+ return status;
+ return get_message(msg, status, buf_len, is_evdi);
+}
+
+static int inline get_vconf_status(char* msg, const char* key, int buf_len, bool is_evdi)
+{
+ int status;
+ int ret = vconf_get_int(key, &status);
+ if (ret != 0) {
+ LOGERR("cannot get vconf key - %s", key);
+ return -1;
+ }
+
+ return get_message(msg, status, buf_len, is_evdi);
+}
+
+char* __tmpalloc(const int size)
+{
+ char* message = (char*)malloc(sizeof(char) * size);
+ memset(message, 0, sizeof(char) * size);
+ return message;
+}
+
+char* get_usb_status(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_file_status(message, PATH_JACK_USB, 5, is_evdi);
+ if (length < 0){
+ LOGERR("get usb status error - %d", length);
+ length = 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = USB_STATUS;
+
+ return message;
+}
+
+char* get_earjack_status(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_file_status(message, PATH_JACK_EARJACK, 5, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = EARJACK_STATUS;
+
+ return message;
+}
+
+char* get_rssi_level(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_vconf_status(message, "memory/telephony/rssi", 5, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = RSSI_LEVEL;
+
+ return message;
+}
+
+char* get_battery_level(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_file_status(message, PATH_BATTERY_CAPACITY, 5, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = BATTERY_LEVEL;
+
+ return message;
+}
+
+char* get_battery_charger(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_file_status(message, PATH_BATTERY_CHARGE_NOW, 5, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = BATTERY_CHARGER;
+
+ return message;
+}
+
+char* get_proximity_status(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(5);
+ int length = get_file_status(message, PATH_SENSOR_PROXI_VO, 5, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = PROXI_VALUE;
+
+ return message;
+}
+
+char* get_light_level(void* p, bool is_evdi)
+{
+ char* message = __tmpalloc(6);
+ int length = get_file_status(message, PATH_SENSOR_LIGHT_ADC, 6, is_evdi);
+ if (length < 0){
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = length;
+ packet->group = STATUS;
+ packet->action = LIGHT_VALUE;
+
+ return message;
+}
+
+char* get_acceleration_value(void* p, bool is_evdi)
+{
+ FILE* fd = fopen(PATH_SENSOR_ACCEL_XYZ, "r");
+ if(!fd)
+ {
+ return 0;
+ }
+
+ char* message = __tmpalloc(128);
+
+ //fscanf(fd, "%d, %d, %d", message);
+ if (!fgets(message, 128, fd))
+ LOGERR("accel xyz fgets failure");
+
+ fclose(fd);
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = strlen(message);
+ packet->group = STATUS;
+ packet->action = ACCEL_VALUE;
+
+ return message;
+}
+
+char* get_gyroscope_value(void* p, bool is_evdi)
+{
+ int x, y, z;
+ int ret;
+
+ FILE* fd = fopen(PATH_SENSOR_GYRO_X_RAW, "r");
+ if(!fd)
+ {
+ return 0;
+ }
+ ret = fscanf(fd, "%d", &x);
+ fclose(fd);
+
+ fd = fopen(PATH_SENSOR_GYRO_Y_RAW, "r");
+ if(!fd)
+ {
+ return 0;
+ }
+ ret = fscanf(fd, "%d", &y);
+ fclose(fd);
+
+ fd = fopen(PATH_SENSOR_GYRO_Z_RAW, "r");
+ if(!fd)
+ {
+ return 0;
+ }
+ ret = fscanf(fd, "%d", &z);
+ fclose(fd);
+
+ char* message = __tmpalloc(128);
+
+ ret = sprintf(message, "%d, %d, %d", x, y, z);
+ if (ret < 0) {
+ free(message);
+ message = 0;
+ return 0;
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = strlen(message);
+ packet->group = STATUS;
+ packet->action = GYRO_VALUE;
+
+ return message;
+}
+
+char* get_magnetic_value(void* p, bool is_evdi)
+{
+ FILE* fd = fopen(PATH_SENSOR_GEO_TESLA, "r");
+ if(!fd)
+ {
+ return 0;
+ }
+
+ char* message = __tmpalloc(128);
+ if (!fgets(message, 128, fd))
+ {
+ LOGERR("tesla fgets failure");
+ }
+ fclose(fd);
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = strlen(message);
+ packet->group = STATUS;
+ packet->action = MAG_VALUE;
+ return message;
+}
+
+char* get_location_status(void* p, bool is_evdi)
+{
+ int mode;
+ int ret = vconf_get_int("db/location/replay/ReplayMode", &mode);
+ if (ret != 0) {
+ return 0;
+ }
+
+ char* message = 0;
+
+ if (mode == 0)
+ { // STOP
+ message = (char*)malloc(5);
+ memset(message, 0, 5);
+
+ ret = sprintf(message, "%d", mode);
+ if (ret < 0) {
+ free(message);
+ message = 0;
+ return 0;
+ }
+ }
+ else if (mode == 1)
+ { // NMEA MODE(LOG MODE)
+ char* temp = 0;
+ temp = (char*) vconf_get_str("db/location/replay/FileName");
+ if (temp == 0) {
+ //free(temp);
+ return 0;
+ }
+
+ message = (char*)malloc(256);
+ memset(message, 0, 256);
+ ret = sprintf(message, "%d,%s", mode, temp);
+ if (ret < 0) {
+ free(message);
+ message = 0;
+ return 0;
+ }
+ } else if (mode == 2) { // MANUAL MODE
+ double latitude;
+ double logitude;
+ ret = vconf_get_dbl("db/location/replay/ManualLatitude", &latitude);
+ if (ret != 0) {
+ return 0;
+ }
+ ret = vconf_get_dbl("db/location/replay/ManualLongitude", &logitude);
+ if (ret != 0) {
+ return 0;
+ }
+ message = (char*)malloc(128);
+ memset(message, 0, 128);
+ ret = sprintf(message, "%d,%f,%f", mode, latitude, logitude);
+ if (ret < 0) {
+ free(message);
+ message = 0;
+ return 0;
+ }
+ }
+
+ LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
+ memset(packet, 0, sizeof(LXT_MESSAGE));
+ packet->length = strlen(message);
+ packet->group = STATUS;
+ packet->action = LOCATION_STATUS;
+
+ return message;
+}
+
{
msgproc_location(fd, &ijcmd, false);
}
- else if (strncmp(ijcmd.cmd, "nfc", 3) == 0)
- {
- msgproc_nfc(fd, &ijcmd, false);
- }
else if (strncmp(ijcmd.cmd, "system", 6) == 0)
{
msgproc_system(fd, &ijcmd, false);
{
msgproc_location(fd, ijcmd, true);
}
- else if (strncmp(ijcmd->cmd, "nfc", 3) == 0)
- {
- msgproc_nfc(fd, ijcmd, true);
- }
else if (strncmp(ijcmd->cmd, "system", 6) == 0)
{
msgproc_system(fd, ijcmd, true);
#include "emuld_common.h"
#include "emuld.h"
-#include "emuld_proc.h"
#include <errno.h>
#include <sys/mount.h>
LOGERR("failed getting location status");
}
break;
- case NFC_STATUS:
- msg = get_nfc_status((void*)packet, is_evdi);
- if (msg ==0) {
- LOGERR("failed getting nfc status");
- }
- break;
case ACCEL_VALUE:
msg = get_acceleration_value((void*)packet, is_evdi);
if (msg == 0) {
return true;
}
-bool msgproc_nfc(const int sockfd, ijcommand* ijcmd, const bool is_evdi)
-{
- LOGDEBUG("msgproc_nfc");
-
- if (ijcmd->msg.group == STATUS)
- {
- setting_device_param* param = new setting_device_param();
- if (!param)
- return false;
-
- param->get_status_sockfd = sockfd;
- param->ActionID = ijcmd->msg.action;
- param->is_evdi = is_evdi;
- memcpy(param->type_cmd, ijcmd->cmd, ID_SIZE);
-
- if (pthread_create(&tid[2], NULL, setting_device, (void*) param) != 0)
- {
- LOGERR("nfc pthread create fail!");
- return false;
- }
- }
- else
- {
- FILE* fd;
- fd = fopen(PATH_NFC_DATA, "w");
- if (!fd) {
- LOGERR("nfc file open fail!");
- return false;
- }
- fprintf(fd, "%s", ijcmd->data);
- fclose(fd);
- }
- return true;
-}
-
-
bool msgproc_system(const int sockfd, ijcommand* ijcmd, const bool is_evdi)
{
LOGDEBUG("msgproc_system");
+++ /dev/null
-/*
- * emulator-daemon
- *
- * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact:
- * SooYoung Ha <yoosah.ha@samsnung.com>
- * Sungmin Ha <sungmin82.ha@samsung.com>
- * YeongKyoon Lee <yeongkyoon.lee@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributors:
- * - S-Core Co., Ltd
- *
- */
-
-
-#include "emuld.h"
-#include "emuld_common.h"
-#include <vconf/vconf.h>
-#include <vconf/vconf-keys.h>
-
-
-static int inline get_message(char* message, int status, int buf_len, bool is_evdi)
-{
- if (is_evdi) {
- sprintf(message, "%d", status);
- return strlen(message);
- } else {
- // int to byte
- message[3] = (char) (status & 0xff);
- message[2] = (char) (status >> 8 & 0xff);
- message[1] = (char) (status >> 16 & 0xff);
- message[0] = (char) (status >> 24 & 0xff);
- message[4] = '\0';
- }
-
- return 4;
-}
-
-static int inline get_status(const char* filename)
-{
- int ret;
- int status = 0;
- FILE* fd = fopen(filename, "r");
- if(!fd)
- return -1;
-
- ret = fscanf(fd, "%d", &status);
- fclose(fd);
-
- if (ret < 0) {
- return ret;
- }
-
- return status;
-}
-
-static int inline get_file_status(char* msg, const char* filename, int buf_len, bool is_evdi)
-{
- int status = get_status(filename);
- if (status < 0)
- return status;
- return get_message(msg, status, buf_len, is_evdi);
-}
-
-static int inline get_vconf_status(char* msg, const char* key, int buf_len, bool is_evdi)
-{
- int status;
- int ret = vconf_get_int(key, &status);
- if (ret != 0) {
- LOGERR("cannot get vconf key - %s", key);
- return -1;
- }
-
- return get_message(msg, status, buf_len, is_evdi);
-}
-
-char* __tmpalloc(const int size)
-{
- char* message = (char*)malloc(sizeof(char) * size);
- memset(message, 0, sizeof(char) * size);
- return message;
-}
-
-char* get_usb_status(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_file_status(message, "/sys/devices/platform/jack/usb_online", 5, is_evdi);
- if (length < 0){
- LOGERR("get usb status error - %d", length);
- length = 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = USB_STATUS;
-
- return message;
-}
-
-char* get_earjack_status(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_file_status(message, "/sys/devices/platform/jack/earjack_online", 5, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = EARJACK_STATUS;
-
- return message;
-}
-
-char* get_rssi_level(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_vconf_status(message, "memory/telephony/rssi", 5, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = RSSI_LEVEL;
-
- return message;
-}
-
-char* get_battery_level(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_file_status(message, "/sys/class/power_supply/battery/capacity", 5, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = BATTERY_LEVEL;
-
- return message;
-}
-
-char* get_battery_charger(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_file_status(message, "/sys/class/power_supply/battery/charge_now", 5, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = BATTERY_CHARGER;
-
- return message;
-}
-
-char* get_proximity_status(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(5);
- int length = get_file_status(message, PATH_SENSOR_PROXI_VO, 5, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = PROXI_VALUE;
-
- return message;
-}
-
-char* get_light_level(void* p, bool is_evdi)
-{
- char* message = __tmpalloc(6);
- int length = get_file_status(message, PATH_SENSOR_LIGHT_ADC, 6, is_evdi);
- if (length < 0){
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = length;
- packet->group = STATUS;
- packet->action = LIGHT_VALUE;
-
- return message;
-}
-
-char* get_acceleration_value(void* p, bool is_evdi)
-{
- FILE* fd = fopen(PATH_SENSOR_ACCEL_XYZ, "r");
- if(!fd)
- {
- return 0;
- }
-
- char* message = __tmpalloc(128);
-
- //fscanf(fd, "%d, %d, %d", message);
- if (!fgets(message, 128, fd))
- LOGERR("accel xyz fgets failure");
-
- fclose(fd);
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = strlen(message);
- packet->group = STATUS;
- packet->action = ACCEL_VALUE;
-
- return message;
-}
-
-char* get_gyroscope_value(void* p, bool is_evdi)
-{
- int x, y, z;
- int ret;
-
- FILE* fd = fopen(PATH_SENSOR_GYRO_X_RAW, "r");
- if(!fd)
- {
- return 0;
- }
- ret = fscanf(fd, "%d", &x);
- fclose(fd);
-
- fd = fopen(PATH_SENSOR_GYRO_Y_RAW, "r");
- if(!fd)
- {
- return 0;
- }
- ret = fscanf(fd, "%d", &y);
- fclose(fd);
-
- fd = fopen(PATH_SENSOR_GYRO_Z_RAW, "r");
- if(!fd)
- {
- return 0;
- }
- ret = fscanf(fd, "%d", &z);
- fclose(fd);
-
- char* message = __tmpalloc(128);
-
- ret = sprintf(message, "%d, %d, %d", x, y, z);
- if (ret < 0) {
- free(message);
- message = 0;
- return 0;
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = strlen(message);
- packet->group = STATUS;
- packet->action = GYRO_VALUE;
-
- return message;
-}
-
-char* get_magnetic_value(void* p, bool is_evdi)
-{
- FILE* fd = fopen(PATH_SENSOR_GEO_TESLA, "r");
- if(!fd)
- {
- return 0;
- }
-
- char* message = __tmpalloc(128);
- if (!fgets(message, 128, fd))
- {
- LOGERR("tesla fgets failure");
- }
- fclose(fd);
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = strlen(message);
- packet->group = STATUS;
- packet->action = MAG_VALUE;
- return message;
-}
-
-char* get_location_status(void* p, bool is_evdi)
-{
- int mode;
- int ret = vconf_get_int("db/location/replay/ReplayMode", &mode);
- if (ret != 0) {
- return 0;
- }
-
- char* message = 0;
-
- if (mode == 0)
- { // STOP
- message = (char*)malloc(5);
- memset(message, 0, 5);
-
- ret = sprintf(message, "%d", mode);
- if (ret < 0) {
- free(message);
- message = 0;
- return 0;
- }
- }
- else if (mode == 1)
- { // NMEA MODE(LOG MODE)
- char* temp = 0;
- temp = (char*) vconf_get_str("db/location/replay/FileName");
- if (temp == 0) {
- //free(temp);
- return 0;
- }
-
- message = (char*)malloc(256);
- memset(message, 0, 256);
- ret = sprintf(message, "%d,%s", mode, temp);
- if (ret < 0) {
- free(message);
- message = 0;
- return 0;
- }
- } else if (mode == 2) { // MANUAL MODE
- double latitude;
- double logitude;
- ret = vconf_get_dbl("db/location/replay/ManualLatitude", &latitude);
- if (ret != 0) {
- return 0;
- }
- ret = vconf_get_dbl("db/location/replay/ManualLongitude", &logitude);
- if (ret != 0) {
- return 0;
- }
- message = (char*)malloc(128);
- memset(message, 0, 128);
- ret = sprintf(message, "%d,%f,%f", mode, latitude, logitude);
- if (ret < 0) {
- free(message);
- message = 0;
- return 0;
- }
- }
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = strlen(message);
- packet->group = STATUS;
- packet->action = LOCATION_STATUS;
-
- return message;
-}
-
-char* get_nfc_status(void* p, bool is_evdi)
-{
- int ret;
- FILE* fd = fopen(PATH_NFC_DATA, "r");
- if(!fd)
- {
- return 0;
- }
-
- char* message = __tmpalloc(5000);
- ret = fscanf(fd, "%s\n", message);
- if (ret < 0)
- {
- return 0;
- }
- fclose(fd);
-
- LXT_MESSAGE* packet = (LXT_MESSAGE*)p;
- memset(packet, 0, sizeof(LXT_MESSAGE));
- packet->length = strlen(message);
- packet->group = STATUS;
- packet->action = NFC_STATUS;
-
- return message;
-}
-
-