}
}
-void do_hardkey_event( int event_type, int keycode )
+void do_hardkey_event(int event_type, int keycode)
{
- INFO( "do_hardkey_event event_type:%d, keycode:%d\n", event_type, keycode );
+ INFO("do_hardkey_event event_type:%d, keycode:%d\n",
+ event_type, keycode);
if ( is_suspended_state() ) {
if ( KEY_PRESSED == event_type ) {
mloop_evcmd_hwkey(event_type, keycode);
}
-void do_scale_event( double scale_factor )
+void do_scale_event(double scale_factor)
{
INFO("do_scale_event scale_factor:%lf\n", scale_factor);
set_emul_win_scale(scale_factor);
+#if 0
//TODO: thread safe
//qemu refresh
- //vga_hw_invalidate();
- //vga_hw_update();
+ vga_hw_invalidate();
+ vga_hw_update();
+#endif
}
-void do_rotation_event( int rotation_type)
+void do_rotation_event(int rotation_type)
{
INFO( "do_rotation_event rotation_type:%d\n", rotation_type);
}
-QemuSurfaceInfo* get_screenshot_info( void ) {
-
+QemuSurfaceInfo* get_screenshot_info(void)
+{
DisplaySurface* qemu_display_surface = get_qemu_display_surface();
if ( !qemu_display_surface ) {
}
-void free_screenshot_info( QemuSurfaceInfo* info ) {
- if( info ) {
- if( info->pixel_data ) {
- g_free( info->pixel_data );
+void free_screenshot_info(QemuSurfaceInfo* info)
+{
+ if (info) {
+ if(info->pixel_data) {
+ g_free(info->pixel_data);
}
- g_free( info );
+
+ g_free(info);
}
}
-DetailInfo* get_detail_info( int qemu_argc, char** qemu_argv ) {
-
+DetailInfo* get_detail_info(int qemu_argc, char** qemu_argv)
+{
DetailInfo* detail_info = g_malloc0( sizeof(DetailInfo) );
if ( !detail_info ) {
ERR( "Fail to malloc for DetailInfo.\n" );
}
-static void parse_skin_args( void ) {
-
+static void parse_skin_args(void)
+{
int i;
- for ( i = 0; i < skin_argc; i++ ) {
+
+ for (i = 0; i < skin_argc; i++) {
char* arg = NULL;
- arg = strdup( skin_argv[i] );
+ arg = strdup(skin_argv[i]);
- if ( arg ) {
+ if (arg) {
- char* key = strtok( arg, "=" );
- char* value = strtok( NULL, "=" );
+ char* key = strtok(arg, "=");
+ char* value = strtok(NULL, "=");
- INFO( "skin params key:%s, value:%s\n", key, value );
+ INFO("skin params key:%s, value:%s\n", key, value);
- if( 0 == strcmp( TEST_HB_IGNORE, key ) ) {
- if( 0 == strcmp( "true", value ) ) {
+ if (0 == strcmp(TEST_HB_IGNORE, key)) {
+ if (0 == strcmp("true", value)) {
ignore_heartbeat = 1;
- }else if( 0 == strcmp( "false", value ) ) {
+ } else if (0 == strcmp("false", value)) {
ignore_heartbeat = 0;
}
}
- free( arg );
+ free(arg);
} else {
- ERR( "fail to strdup." );
+ ERR("fail to strdup.");
}
}
}
-static void* run_skin_server( void* args ) {
+static void print_fail_log(void)
+{
+ ERR("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
+ ERR("! Fail to initialize for skin server operation. Shutdown QEMU !\n");
+ ERR("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n");
+}
+static void* run_skin_server(void* args)
+{
struct sockaddr server_addr, client_addr;
socklen_t server_len, client_len;
- int shutdown_qmu = 0;
+ int shutdown_qemu = 0;
INFO("run skin server\n");
- if ( 0 > ( server_sock = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ) ) ) {
- ERR( "create listen socket error\n" );
- perror( "create listen socket error : " );
- shutdown_qmu = 1;
- goto cleanup;
+ if (0 > (server_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))) {
+ ERR("create listen socket error\n");
+ perror("create listen socket error : ");
+
+ print_fail_log();
+ shutdown_qemu_gracefully();
+
+ return NULL;
}
memset( &server_addr, '\0', sizeof( server_addr ) );
server_len = sizeof( server_addr );
- if ( 0 != bind( server_sock, &server_addr, server_len ) ) {
- ERR( "skin server bind error\n" );
- perror( "skin server bind error : " );
- shutdown_qmu = 1;
- goto cleanup;
+ if (0 != bind(server_sock, &server_addr, server_len)) {
+ ERR("skin server bind error\n");
+ perror("skin server bind error : ");
+
+ if (server_sock) {
+#ifdef CONFIG_WIN32
+ closesocket(server_sock);
+#else
+ close(server_sock);
+#endif
+ server_sock = 0;
+ }
+
+ print_fail_log();
+ shutdown_qemu_gracefully();
+
+ return NULL;
}
memset( &server_addr, '\0', sizeof( server_addr ) );
getsockname( server_sock, (struct sockaddr *) &server_addr, &server_len );
svr_port = ntohs( ( (struct sockaddr_in *) &server_addr )->sin_port );
- INFO( "success to bind port[127.0.0.1:%d/tcp] for skin_server in host \n", svr_port );
+ INFO("success to bind port[127.0.0.1:%d/tcp] for skin_server in host \n", svr_port);
- if ( 0 > listen( server_sock, 4 ) ) {
- ERR( "skin_server listen error\n" );
- perror( "skin_server listen error : " );
- shutdown_qmu = 1;
- goto cleanup;
+ if (0 > listen( server_sock, 4)) {
+ ERR("skin_server listen error\n");
+ perror("skin_server listen error : ");
+
+ if (server_sock) {
+#ifdef CONFIG_WIN32
+ closesocket(server_sock);
+#else
+ close(server_sock);
+#endif
+ server_sock = 0;
+ }
+
+ print_fail_log();
+ shutdown_qemu_gracefully();
+
+ return NULL;
}
- client_len = sizeof( client_addr );
+ client_len = sizeof(client_addr);
char recvbuf[RECV_BUF_SIZE];
- INFO( "skin server start...port:%d\n", svr_port );
+ INFO("skin server start...port:%d\n", svr_port);
- while ( 1 ) {
+ while (1) {
- if ( stop_server ) {
- INFO( "close server socket normally.\n" );
+ if (stop_server) {
+ INFO("close server socket normally.\n");
break;
}
if( !is_started_heartbeat ) {
if ( !start_heart_beat() ) {
ERR( "Fail to start heartbeat thread.\n" );
- shutdown_qmu = 1;
+ shutdown_qemu = 1;
break;
}
}
break;
}
case RECV_RESPONSE_HEART_BEAT: {
- log_cnt += sprintf( log_buf + log_cnt, "RECV_RESPONSE_HEART_BEAT ==\n" );
-// TRACE( log_buf );
- TRACE( "recv HB req_id:%d\n", req_id );
+ log_cnt += sprintf(log_buf + log_cnt, "RECV_RESPONSE_HEART_BEAT ==\n");
+#if 0
+ TRACE(log_buf);
+#endif
+ TRACE("recv HB req_id:%d\n", req_id);
- pthread_mutex_lock( &mutex_recv_heartbeat_count );
+ pthread_mutex_lock(&mutex_recv_heartbeat_count);
recv_heartbeat_count = 0;
- pthread_mutex_unlock( &mutex_recv_heartbeat_count );
+ pthread_mutex_unlock(&mutex_recv_heartbeat_count);
break;
}
stop_heart_beat();
-cleanup:
- if ( server_sock ) {
+ /* clean up */
+ if (server_sock) {
#ifdef CONFIG_WIN32
- closesocket( server_sock );
+ closesocket(server_sock);
#else
- close( server_sock );
+ close(server_sock);
#endif
server_sock = 0;
}
- if( shutdown_qmu ) {
- ERR( "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" );
- ERR( "!!! Fail to initialize for skin server operation. Shutdown QEMU !!!\n" );
- ERR( "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n" );
+ if (shutdown_qemu) {
+ print_fail_log();
shutdown_qemu_gracefully();
}