- Added --only-detect-tizen option to 'sdb start' command, which does not detect android target
Change-Id: I9020ff5528f71ee792fea8cdf442cb402cf17e1d
Signed-off-by: shingil.kang <shingil.kang@samsung.com>
#include "log.h"
#include "sdb.h"
#include "sdb_messages.h"
+#include "sdb_usb.h"
static const char *SDK_TOOL_PATH="/home/developer/sdk_tools";
static const char *APP_PATH_PREFIX="/opt/apps";
}
int start_server(int argc, char ** argv) {
- return sdb_connect("host:start-server");
+ if (argv[1] != NULL && !strcmp(argv[1], "--only-detect-tizen")) {
+ return sdb_connect("host:start-server:only-detect-tizen");
+ } else {
+ return sdb_connect("host:start-server");
+ }
}
int version(int argc, char ** argv) {
int forkserver(int argc, char** argv) {
if(!strcmp(argv[1], "server")) {
+ if(argv[2] != NULL && !strcmp(argv[2], "--only-detect-tizen"))
+ g_only_detect_tizen_device = 1;
+ else
+ g_only_detect_tizen_device = 0;
int r = sdb_main(1, DEFAULT_SDB_PORT);
return r;
}
COMMAND* sserver_cmd = NULL;
create_command(&sserver_cmd, COMMANDLINE_SSERVER_NAME, COMMANDLINE_SSERVER_DESC,
- COMMANDLINE_SSERVER_DESC_SIZE, EMPTY_STRING, start_server, COMMANDLINE_SSERVER_MAX_ARG, COMMANDLINE_SSERVER_MIN_ARG);
+ COMMANDLINE_SSERVER_DESC_SIZE, COMMANDLINE_SSERVER_ARG_DESC, start_server, COMMANDLINE_SSERVER_MAX_ARG, COMMANDLINE_SSERVER_MIN_ARG);
prepend(cmd_list, sserver_cmd);
COMMAND* kserver_cmd = NULL;
#include "adb_auth.h"
static int auth_enabled = 0;
+int g_only_detect_tizen_device = 0;
#if SDB_TRACE
SDB_MUTEX_DEFINE( D_lock );
if (is_daemon) {
start_logging();
}
+ LOG_INFO("only_detect_tizen_device: %d\n", g_only_detect_tizen_device);
//install listener for getting emulator information from qemu
install_listener(DEFAULT_SDB_QEMU_PORT, 0, NULL, qemuListener);
D("_sdb_connect: %s\n", service);
- if (!strcmp(service, "host:start-server")) {
+ if (!strncmp(service, "host:start-server", 17)) {
return 0;
}
*/
int sdb_connect(const char *service)
{
+ int only_detect_tizen_device;
// check version before sending a sdb command
int fd = _sdb_connect("host:version");
if(fd == -2) {
fprintf(stdout,"* server not running. starting it now on port %d *\n", DEFAULT_SDB_PORT);
launch_server:
- if(launch_server()) {
+ if (!strcmp(service, "host:start-server:only-detect-tizen"))
+ only_detect_tizen_device = 1;
+ else
+ only_detect_tizen_device = 0;
+ if(launch_server(only_detect_tizen_device)) {
print_error(SDB_MESSAGE_ERROR, ERR_GENERAL_START_SERVER_FAIL, NULL);
return -1;
} else {
const char* COMMANDLINE_SSERVER_NAME = "start-server";
const char* COMMANDLINE_SSERVER_DESC[] = {
- "ensure that there is a server running"
+ "ensure that there is a server running",
+ "'--only-detect-tizen' means to detect tizen devices only"
};
const int COMMANDLINE_SSERVER_DESC_SIZE = GET_ARRAY_SIZE(COMMANDLINE_SSERVER_DESC, char*);
- const int COMMANDLINE_SSERVER_MAX_ARG = 0;
+ const char* COMMANDLINE_SSERVER_ARG_DESC = "[--only-detect-tizen]";
+ const int COMMANDLINE_SSERVER_MAX_ARG = 1;
const int COMMANDLINE_SSERVER_MIN_ARG = 0;
const char* COMMANDLINE_KSERVER_NAME = "kill-server";
const int COMMANDLINE_UNINSTALL_MIN_ARG = 1;
const char* COMMANDLINE_FORKSERVER_NAME = "fork-server";
- const int COMMANDLINE_FORKSERVER_MAX_ARG = 1;
+ const int COMMANDLINE_FORKSERVER_MAX_ARG = 2;
const int COMMANDLINE_FORKSERVER_MIN_ARG = 1;
const char* COMMANDLINE_CAPABILITY_NAME = "capability";
extern const char* COMMANDLINE_SSERVER_NAME;
extern const char* COMMANDLINE_SSERVER_DESC[];
extern const int COMMANDLINE_SSERVER_DESC_SIZE;
+ extern const char* COMMANDLINE_SSERVER_ARG_DESC;
extern const int COMMANDLINE_SSERVER_MAX_ARG;
extern const int COMMANDLINE_SSERVER_MIN_ARG;
#include <limits.h>
+extern int g_only_detect_tizen_device;
// should bo implements for each os type
typedef struct usb_handle usb_handle;
#include "sdb_usb.h"
#include "transport.h"
-
static int remote_read(TRANSPORT* t, void* data, int len)
{
return sdb_usb_read(t->usb, data, len);
if ( usb_class == SDB_INTERFACE_CLASS ) {
if ( usb_subclass == SDB_INTERFACE_SUBCLASS && usb_protocol == SDB_INTERFACE_PROTOCOL )
return 1;
- else if ( usb_subclass == ADB_INTERFACE_SUBCLASS && usb_protocol == ADB_INTERFACE_PROTOCOL)
- return 2;
+ if (g_only_detect_tizen_device) {
+ D("only detect tizen device !\n");
+ return 0;
+ } else {
+ if (usb_subclass == ADB_INTERFACE_SUBCLASS && usb_protocol == ADB_INTERFACE_PROTOCOL)
+ return 2;
+ }
}
return 0;
}
#define TRACE_TAG TRACE_USB
#include "sdb.h"
#include "sdb_usb.h"
+
#include "ddk/usb100.h"
#include "ddk/usbioctl.h"
void do_lsusb() {
usb_find_devices(TIZEN_CLASSID);
- usb_find_devices(ANDROID_CLASSID);
+ if(!g_only_detect_tizen_device)
+ usb_find_devices(ANDROID_CLASSID);
}
/**************************************************/
/*** OS dependent helpers ***/
/**************************************************/
-int launch_server(void) {
- return utils_backend->launch_server();
+int launch_server(int only_detect_tizen_device) {
+ return utils_backend->launch_server(only_detect_tizen_device);
}
void start_logging(void) {
// human-readable name
const char *name;
- int (*launch_server)(void);
+ int (*launch_server)(int only_detect_tizen_device);
void (*start_logging)(void);
char* (*ansi_to_utf8)(const char *str);
int (*sdb_open)(const char* path, int options);
#include "log.h"
#include "sdb_messages.h"
-static int _launch_server(void)
+static int _launch_server(int only_detect_tizen_device)
{
pid_t pid;
// before fork exec, be session leader.
setsid();
- execl(path, "sdb", "fork-server", "server", NULL);
+ if(only_detect_tizen_device)
+ execl(path, "sdb", "fork-server", "server", "--only-detect-tizen", NULL);
+ else
+ execl(path, "sdb", "fork-server", "server", NULL);
+
LOG_ERROR("failed to execute process: %s\n", strerror(errno));
_exit(-1);
}
/*
* from: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682499(v=vs.85).aspx
*/
-static int _launch_server(void) {
+static int _launch_server(int only_detect_tizen_device) {
HANDLE g_hChildStd_OUT_Rd = NULL;
HANDLE g_hChildStd_OUT_Wr = NULL;
SECURITY_ATTRIBUTES saAttr;
STARTUPINFO siStartInfo;
BOOL bSuccess = FALSE;
char module_path[MAX_PATH];
- TCHAR szCmdline[] = TEXT("sdb fork-server server");
+ TCHAR* szCmdline;
+ if(only_detect_tizen_device)
+ szCmdline = TEXT("sdb fork-server server --only-detect-tizen");
+ else
+ szCmdline = TEXT("sdb fork-server server");
// Set up members of the PROCESS_INFORMATION structure.
ZeroMemory(&piProcInfo, sizeof(PROCESS_INFORMATION));