Unify duplicated code regarding handle validity checking 70/223370/2
authorhj kim <backto.kim@samsung.com>
Wed, 29 Jan 2020 06:10:34 +0000 (15:10 +0900)
committerhj kim <backto.kim@samsung.com>
Thu, 30 Jan 2020 04:59:25 +0000 (13:59 +0900)
Change-Id: Ida215f22389f7f70e3613986935fcacb7d98659b

src/scmirroring_primary_sink.c
src/scmirroring_secondary_sink.c
src/scmirroring_sink.c
src/scmirroring_src.c

index 687fb15a4a79d35fd06cf9ca640e510bece69ea4..82b492198597d9ce82aec41e22d1fb415dacf3dd 100644 (file)
 #define CONNECTED_TO_SERVER 1
 #define NOT_CONNECTED_TO_SERVER 0
 
-void __mm_scmirroring_primary_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
+static gboolean __is_valid_handle(scmirroring_primary_sink_s *handle)
+{
+       scmirroring_retvm_if(!handle, FALSE, "scmirroring_primary_sink_s is NULL");
+       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, FALSE, "invalid magic_num");
+
+       return TRUE;
+}
+
+static void __mm_scmirroring_primary_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
 {
        scmirroring_error_e error = _scmirroring_error_convert(__func__, error_type);
        scmirroring_sink_state_e state = _scmirroring_sink_state_convert(state_type);
@@ -103,8 +111,7 @@ int scmirroring_primary_sink_set_ip_and_port(scmirroring_primary_sink_h scmirror
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(ip == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "ip is NULL");
        scmirroring_retvm_if(port == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "port is NULL");
 
@@ -131,8 +138,7 @@ int scmirroring_primary_sink_prepare(scmirroring_primary_sink_h scmirroring_prim
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_prepare(handle->mm_handle);
 
@@ -152,8 +158,7 @@ int scmirroring_primary_sink_connect(scmirroring_primary_sink_h scmirroring_prim
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        if (handle->ip == NULL) {
                scmirroring_error("INVALID_IP(NULL) (0x%08x)", SCMIRRORING_ERROR_INVALID_PARAMETER);
@@ -188,8 +193,7 @@ int scmirroring_primary_sink_unprepare(scmirroring_primary_sink_h scmirroring_pr
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_unprepare(handle->mm_handle);
 
@@ -208,8 +212,7 @@ int scmirroring_primary_sink_destroy(scmirroring_primary_sink_h scmirroring_prim
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_destroy(handle->mm_handle);
 
@@ -235,8 +238,7 @@ int scmirroring_primary_sink_start(scmirroring_primary_sink_h scmirroring_primar
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_start(handle->mm_handle);
 
@@ -255,8 +257,7 @@ int scmirroring_primary_sink_disconnect(scmirroring_primary_sink_h scmirroring_p
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_disconnect(handle->mm_handle);
 
@@ -275,8 +276,7 @@ int scmirroring_primary_sink_set_state_changed_cb(scmirroring_primary_sink_h scm
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(callback == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        if (handle->scmirroring_sink_state_cb == NULL) {
@@ -309,8 +309,7 @@ int scmirroring_primary_sink_unset_state_changed_cb(scmirroring_primary_sink_h s
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_set_message_callback(handle->mm_handle, NULL, NULL);
 
@@ -331,8 +330,7 @@ int scmirroring_primary_sink_set_display(scmirroring_primary_sink_h scmirroring_
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(display_surface == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "display_surface is NULL");
 
        if ((type != SCMIRRORING_DISPLAY_TYPE_OVERLAY) && (type != SCMIRRORING_DISPLAY_TYPE_EVAS)) {
@@ -375,8 +373,7 @@ int scmirroring_primary_sink_set_resolution(scmirroring_primary_sink_h scmirrori
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        if ((resolution < SCMIRRORING_RESOLUTION_UNKNOWN) || (resolution >= SCMIRRORING_RESOLUTION_MAX)) {
                scmirroring_error("Invalid resolution : %d", resolution);
@@ -405,8 +402,7 @@ int scmirroring_primary_sink_pause(scmirroring_primary_sink_h scmirroring_primar
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_pause(handle->mm_handle);
 
@@ -425,8 +421,7 @@ int scmirroring_primary_sink_resume(scmirroring_primary_sink_h scmirroring_prima
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        ret = mm_wfd_sink_resume(handle->mm_handle);
 
@@ -445,8 +440,7 @@ int scmirroring_primary_sink_get_negotiated_video_codec(scmirroring_primary_sink
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(codec == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "codec is NULL");
 
        *codec = SCMIRRORING_VIDEO_CODEC_NONE;
@@ -478,8 +472,7 @@ int scmirroring_primary_sink_get_negotiated_video_resolution(scmirroring_primary
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(width == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "width is NULL");
        scmirroring_retvm_if(height == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "height is NULL");
 
@@ -504,8 +497,7 @@ int scmirroring_primary_sink_get_negotiated_video_frame_rate(scmirroring_primary
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(frame_rate == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "frame_rate is NULL");
 
        *frame_rate = 0;
@@ -529,8 +521,7 @@ int scmirroring_primary_sink_get_negotiated_audio_codec(scmirroring_primary_sink
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(codec == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "codec is NULL");
 
        *codec = SCMIRRORING_AUDIO_CODEC_NONE;
@@ -568,8 +559,7 @@ int scmirroring_primary_sink_get_negotiated_audio_channel(scmirroring_primary_si
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(channel == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "channel is NULL");
 
        *channel = 0;
@@ -592,8 +582,7 @@ int scmirroring_primary_sink_get_negotiated_audio_sample_rate(scmirroring_primar
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(sample_rate == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "sample_rate is NULL");
 
        *sample_rate = 0;
@@ -616,8 +605,7 @@ int scmirroring_primary_sink_get_negotiated_audio_bitwidth(scmirroring_primary_s
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(bitwidth == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "bitwidth is NULL");
 
        *bitwidth = 0;
@@ -640,8 +628,7 @@ int scmirroring_primary_sink_get_current_state(scmirroring_primary_sink_h scmirr
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)(scmirroring_primary_sink);
 
        scmirroring_debug_fenter();
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(state == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "state is NULL");
 
 
@@ -660,8 +647,7 @@ int scmirroring_primary_sink_set_coupled_sink(scmirroring_primary_sink_h scmirro
        scmirroring_debug_fenter();
        scmirroring_primary_sink_s *handle = (scmirroring_primary_sink_s *)scmirroring_primary_sink;
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
        scmirroring_retvm_if(address == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "MAC address is invalid");
 
        scmirroring_debug("address [%s]", address);
@@ -686,8 +672,7 @@ int scmirroring_primary_sink_set_coupled_sink_status(scmirroring_primary_sink_h
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_primary_sink is invalid");
 
        if ((status < SCMIRRORING_COUPLING_STATUS_NOT_COUPLED) || (status >= SCMIRRORING_COUPLING_STATUS_MAX)) {
                scmirroring_error("Invalid status : %d", status);
@@ -1170,8 +1155,7 @@ int scmirroring_primary_src_set_connection_mode(scmirroring_primary_sink_h scmir
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((connect_mode < SCMIRRORING_CONNECTION_WIFI_DIRECT) || (connect_mode >= SCMIRRORING_CONNECTION_MAX)) {
                scmirroring_error("INVALID Connection mode : %d", connect_mode);
@@ -1198,8 +1182,7 @@ int scmirroring_primary_src_set_state_changed_cb(scmirroring_primary_sink_h scmi
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(callback == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        if (_scmirroring->scmirroring_state_cb == NULL) {
@@ -1227,8 +1210,7 @@ int scmirroring_primary_src_unset_state_changed_cb(scmirroring_primary_sink_h sc
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (_scmirroring->scmirroring_state_cb != NULL) {
                _scmirroring->scmirroring_state_cb->user_data = NULL;
@@ -1252,8 +1234,7 @@ int scmirroring_primary_src_set_ip_and_port(scmirroring_primary_sink_h scmirrori
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(!STRING_VALID(ip), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID IP");
        scmirroring_retvm_if(!STRING_VALID(port), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID PORT");
 
@@ -1283,8 +1264,7 @@ int scmirroring_primary_src_set_resolution(scmirroring_primary_sink_h scmirrorin
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((resolution < SCMIRRORING_RESOLUTION_1920x1080_P30) || (resolution >= SCMIRRORING_RESOLUTION_MAX)) {
                scmirroring_error("INVALID resolution : %d", resolution);
@@ -1311,8 +1291,7 @@ int scmirroring_primary_src_set_server_name(scmirroring_primary_sink_h scmirrori
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        SCMIRRORING_SAFE_G_FREE(_scmirroring->server_name);
        _scmirroring->server_name = g_strdup(name);
@@ -1333,8 +1312,7 @@ int scmirroring_primary_src_set_multisink_ability(scmirroring_primary_sink_h scm
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((multisink < SCMIRRORING_MULTISINK_DISABLE) || (multisink > SCMIRRORING_MULTISINK_ENABLE)) {
                scmirroring_error("INVALID multisink ability : %d", multisink);
@@ -1367,8 +1345,7 @@ int scmirroring_primary_src_connect(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        scmirroring_retvm_if(_scmirroring->connected == CONNECTED_TO_SERVER, SCMIRRORING_ERROR_NONE, "already connected to server.");
 
@@ -1477,8 +1454,7 @@ int scmirroring_primary_src_disconnect(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(_scmirroring->connected == NOT_CONNECTED_TO_SERVER, SCMIRRORING_ERROR_NONE, "Already disconnected");
 
        ret = __scmirroring_primary_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_DESTROY);
@@ -1513,8 +1489,7 @@ int scmirroring_primary_src_start(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_primary_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_START);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -1534,8 +1509,7 @@ int scmirroring_primary_src_pause(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_primary_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_PAUSE);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -1555,8 +1529,7 @@ int scmirroring_primary_src_resume(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_primary_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_RESUME);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -1578,8 +1551,7 @@ int scmirroring_primary_src_set_direct_streaming(scmirroring_primary_sink_h scmi
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(!STRING_VALID(uri_srcname), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID URI_SRCNAME");
        _scmirroring->direct_streaming = enable;
 
@@ -1613,8 +1585,7 @@ int scmirroring_primary_src_set_coupling_mode(scmirroring_primary_sink_h scmirro
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((coupling_mode < SCMIRRORING_COUPLING_MODE_DISABLED) || (coupling_mode > SCMIRRORING_COUPLING_MODE_ENABLED)) {
                scmirroring_error("INVALID coupling mode : %d", coupling_mode);
@@ -1641,8 +1612,7 @@ int scmirroring_primary_src_AV_transport_switch(scmirroring_primary_sink_h scmir
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (transport < SCMIRRORING_AV_TRANSPORT_UDP || transport > SCMIRRORING_AV_TRANSPORT_TCP) {
                scmirroring_error("Invalid transport");
@@ -1667,8 +1637,7 @@ int scmirroring_primary_src_stop(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_primary_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_STOP);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -1688,8 +1657,7 @@ int scmirroring_primary_src_destroy(scmirroring_primary_sink_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (_scmirroring->connected == CONNECTED_TO_SERVER) {
                ret = scmirroring_primary_src_disconnect(scmirroring);
index dbf873e484600b714eceac18db8fdda2ba91ea81..de9af61f75ddf559e2d925f3e06b8b3ddc348d30 100755 (executable)
 #include <scmirroring_secondary_sink.h>
 #include <scmirroring_private.h>
 
-void __mm_scmirroring_secondary_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
+static gboolean __is_valid_handle(scmirroring_secondary_sink_s *handle)
+{
+       scmirroring_retvm_if(!handle, FALSE, "scmirroring_secondary_sink_h is NULL");
+       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, FALSE, "invalid magic_num");
+
+       return TRUE;
+}
+
+static void __mm_scmirroring_secondary_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
 {
        scmirroring_error_e error = _scmirroring_error_convert(__func__, error_type);
        scmirroring_sink_state_e state = _scmirroring_sink_state_convert(state_type);
@@ -73,8 +81,7 @@ int scmirroring_secondary_sink_set_ip_and_port(scmirroring_secondary_sink_h scmi
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(ip == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "ip is NULL");
        scmirroring_retvm_if(port == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "port is NULL");
 
@@ -101,8 +108,7 @@ int scmirroring_secondary_sink_prepare(scmirroring_secondary_sink_h scmirroring_
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_prepare(handle->mm_handle);
 
@@ -122,8 +128,7 @@ int scmirroring_secondary_sink_connect(scmirroring_secondary_sink_h scmirroring_
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        if (handle->ip == NULL) {
                scmirroring_error("INVALID_IP(NULL) (0x%08x)", SCMIRRORING_ERROR_INVALID_PARAMETER);
@@ -158,8 +163,7 @@ int scmirroring_secondary_sink_unprepare(scmirroring_secondary_sink_h scmirrorin
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_unprepare(handle->mm_handle);
 
@@ -178,8 +182,7 @@ int scmirroring_secondary_sink_destroy(scmirroring_secondary_sink_h scmirroring_
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_destroy(handle->mm_handle);
 
@@ -205,8 +208,7 @@ int scmirroring_secondary_sink_start(scmirroring_secondary_sink_h scmirroring_se
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_start(handle->mm_handle);
 
@@ -225,8 +227,7 @@ int scmirroring_secondary_sink_disconnect(scmirroring_secondary_sink_h scmirrori
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_disconnect(handle->mm_handle);
 
@@ -245,8 +246,7 @@ int scmirroring_secondary_sink_set_state_changed_cb(scmirroring_secondary_sink_h
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(callback == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        if (handle->scmirroring_sink_state_cb == NULL) {
@@ -279,8 +279,7 @@ int scmirroring_secondary_sink_unset_state_changed_cb(scmirroring_secondary_sink
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_set_message_callback(handle->mm_handle, NULL, NULL);
 
@@ -302,8 +301,7 @@ int scmirroring_secondary_sink_pause(scmirroring_secondary_sink_h scmirroring_se
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_pause(handle->mm_handle);
 
@@ -322,8 +320,7 @@ int scmirroring_secondary_sink_resume(scmirroring_secondary_sink_h scmirroring_s
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
 
        ret = mm_wfd_sink_resume(handle->mm_handle);
 
@@ -343,8 +340,7 @@ int scmirroring_secondary_sink_get_negotiated_audio_codec(scmirroring_secondary_
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s*)scmirroring_secondary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(codec == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "codec is NULL");
 
        *codec = SCMIRRORING_AUDIO_CODEC_NONE;
@@ -382,8 +378,7 @@ int scmirroring_secondary_sink_get_negotiated_audio_channel(scmirroring_secondar
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s*)scmirroring_secondary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(channel == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "channel is NULL");
 
        *channel = 0;
@@ -406,8 +401,7 @@ int scmirroring_secondary_sink_get_negotiated_audio_sample_rate(scmirroring_seco
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s*)scmirroring_secondary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(sample_rate == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "sample_rate is NULL");
 
        *sample_rate = 0;
@@ -430,8 +424,7 @@ int scmirroring_secondary_sink_get_negotiated_audio_bitwidth(scmirroring_seconda
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s*)scmirroring_secondary_sink;
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(bitwidth == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "bitwidth is NULL");
 
        *bitwidth = 0;
@@ -454,9 +447,8 @@ int scmirroring_secondary_sink_get_current_state(scmirroring_secondary_sink_h sc
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s *)(scmirroring_secondary_sink);
 
        scmirroring_debug_fenter();
-       scmirroring_retvm_if(scmirroring_secondary_sink == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink* is NULL");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(state == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "state is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
 
        result = mm_wfd_sink_get_current_state(handle->mm_handle, &mm_state);
        if (result == MM_ERROR_NONE) {
@@ -473,8 +465,7 @@ int scmirroring_secondary_sink_set_coupled_sink(scmirroring_secondary_sink_h scm
        scmirroring_debug_fenter();
        scmirroring_secondary_sink_s *handle = (scmirroring_secondary_sink_s *)scmirroring_secondary_sink;
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_secondary_sink is invalid");
        scmirroring_retvm_if(address == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "MAC address is NULL");
 
        scmirroring_debug("address[%s]", address);
index b4c5ee1fab2e9a60cde8a7f081cf3951ca700fe4..8838b218ddc287f47488360800487e6e28a7fe2b 100644 (file)
 #include <scmirroring_sink.h>
 #include <scmirroring_private.h>
 
-void __mm_scmirroring_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
+static gboolean __is_valid_handle(scmirroring_sink_s *handle)
+{
+       scmirroring_retvm_if(!handle, FALSE, "scmirroring_sink is NULL");
+       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, FALSE, "invalid magic_num");
+
+       return TRUE;
+}
+
+static void __mm_scmirroring_sink_set_message_cb(int error_type, MMWFDSinkStateType state_type, void *uData)
 {
        scmirroring_error_e error = _scmirroring_error_convert(__func__, error_type);
        scmirroring_sink_state_e state = _scmirroring_sink_state_convert(state_type);
@@ -73,8 +81,7 @@ int scmirroring_sink_set_ip_and_port(scmirroring_sink_h scmirroring_sink, const
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
        scmirroring_retvm_if(ip == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "ip is NULL");
        scmirroring_retvm_if(port == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "port is NULL");
 
@@ -101,8 +108,7 @@ int scmirroring_sink_prepare(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_prepare(handle->mm_handle);
 
@@ -122,8 +128,7 @@ int scmirroring_sink_connect(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        if (handle->ip == NULL) {
                scmirroring_error("INVALID_IP(NULL) (0x%08x)", SCMIRRORING_ERROR_INVALID_PARAMETER);
@@ -158,8 +163,7 @@ int scmirroring_sink_unprepare(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_unprepare(handle->mm_handle);
 
@@ -178,8 +182,7 @@ int scmirroring_sink_destroy(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_destroy(handle->mm_handle);
 
@@ -205,8 +208,7 @@ int scmirroring_sink_start(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_start(handle->mm_handle);
 
@@ -225,8 +227,7 @@ int scmirroring_sink_disconnect(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_disconnect(handle->mm_handle);
 
@@ -245,8 +246,7 @@ int scmirroring_sink_set_state_changed_cb(scmirroring_sink_h scmirroring_sink, s
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
        scmirroring_retvm_if(callback == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        if (handle->scmirroring_sink_state_cb == NULL) {
@@ -279,8 +279,7 @@ int scmirroring_sink_unset_state_changed_cb(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_set_message_callback(handle->mm_handle, NULL, NULL);
 
@@ -301,8 +300,7 @@ int scmirroring_sink_set_display(scmirroring_sink_h scmirroring_sink, scmirrorin
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
        scmirroring_retvm_if(display_surface == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "display_surface is NULL");
 
        if ((type != SCMIRRORING_DISPLAY_TYPE_OVERLAY) && (type != SCMIRRORING_DISPLAY_TYPE_EVAS)) {
@@ -345,8 +343,7 @@ int scmirroring_sink_set_resolution(scmirroring_sink_h scmirroring_sink, int res
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        if ((resolution < SCMIRRORING_RESOLUTION_UNKNOWN) || (resolution >= SCMIRRORING_RESOLUTION_MAX)) {
                scmirroring_error("Invalid resolution : %d", resolution);
@@ -375,8 +372,7 @@ int scmirroring_sink_pause(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_pause(handle->mm_handle);
 
@@ -395,8 +391,7 @@ int scmirroring_sink_resume(scmirroring_sink_h scmirroring_sink)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        ret = mm_wfd_sink_resume(handle->mm_handle);
 
@@ -419,8 +414,7 @@ int scmirroring_sink_get_negotiated_video_codec(scmirroring_sink_h *scmirroring_
        scmirroring_retvm_if(codec == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "codec is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *codec = SCMIRRORING_VIDEO_CODEC_NONE;
 
@@ -456,8 +450,7 @@ int scmirroring_sink_get_negotiated_video_resolution(scmirroring_sink_h *scmirro
        scmirroring_retvm_if(height == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "height is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *width = 0;
        *height = 0;
@@ -484,8 +477,7 @@ int scmirroring_sink_get_negotiated_video_frame_rate(scmirroring_sink_h *scmirro
        scmirroring_retvm_if(frame_rate == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "frame_rate is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *frame_rate = 0;
 
@@ -512,8 +504,7 @@ int scmirroring_sink_get_negotiated_audio_codec(scmirroring_sink_h *scmirroring_
        scmirroring_retvm_if(codec == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "codec is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *codec = SCMIRRORING_AUDIO_CODEC_NONE;
 
@@ -554,8 +545,7 @@ int scmirroring_sink_get_negotiated_audio_channel(scmirroring_sink_h *scmirrorin
        scmirroring_retvm_if(channel == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "channel is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *channel = 0;
 
@@ -581,8 +571,7 @@ int scmirroring_sink_get_negotiated_audio_sample_rate(scmirroring_sink_h *scmirr
        scmirroring_retvm_if(sample_rate == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "sample_rate is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *sample_rate = 0;
 
@@ -608,8 +597,7 @@ int scmirroring_sink_get_negotiated_audio_bitwidth(scmirroring_sink_h *scmirrori
        scmirroring_retvm_if(bitwidth == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "bitwidth is NULL");
 
        handle = (scmirroring_sink_s *)(*scmirroring_sink);
-       scmirroring_retvm_if(handle == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "handle is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        *bitwidth = 0;
 
@@ -632,8 +620,7 @@ int scmirroring_sink_get_current_state(scmirroring_sink_h scmirroring_sink, scmi
 
        scmirroring_debug_fenter();
        scmirroring_retvm_if(scmirroring_sink == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink* is NULL");
-       scmirroring_retvm_if(state == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "state is NULL");
-       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(handle), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring_sink is invalid");
 
        result = mm_wfd_sink_get_current_state(handle->mm_handle, &mm_state);
        if (result == MM_ERROR_NONE) {
index 4d4fda6c3103a75f47522d7ed168ea6ee04f8943..ab2a12eb289b60d500f2b71b5a40273250144582 100644 (file)
 #define CONNECTED_TO_SERVER 1
 #define NOT_CONNECTED_TO_SERVER 0
 
+static gboolean __is_valid_handle(scmirroring_src_s *handle)
+{
+       scmirroring_retvm_if(!handle, FALSE, "scmirroring is NULL");
+       scmirroring_retvm_if(handle->magic_num != SCMIRRORING_MAGIC_NUMBER, FALSE, "invalid magic_num");
+
+       return TRUE;
+}
+
 static gboolean __scmirroring_src_callback_call(gpointer data)
 {
        scmirroring_src_s *scmirroring = (scmirroring_src_s *) data;
@@ -477,8 +485,7 @@ int scmirroring_src_set_connection_mode(scmirroring_src_h scmirroring, scmirrori
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((connect_mode < SCMIRRORING_CONNECTION_WIFI_DIRECT) || (connect_mode >= SCMIRRORING_CONNECTION_MAX)) {
                scmirroring_error("INVALID Connection mode : %d", connect_mode);
@@ -505,8 +512,7 @@ int scmirroring_src_set_state_changed_cb(scmirroring_src_h scmirroring, scmirror
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(callback == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "callback is NULL");
 
        if (_scmirroring->scmirroring_state_cb == NULL) {
@@ -534,8 +540,7 @@ int scmirroring_src_unset_state_changed_cb(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (_scmirroring->scmirroring_state_cb != NULL) {
                _scmirroring->scmirroring_state_cb->user_data = NULL;
@@ -559,8 +564,7 @@ int scmirroring_src_set_ip_and_port(scmirroring_src_h scmirroring, const char *i
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(!STRING_VALID(ip), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID IP");
        scmirroring_retvm_if(!STRING_VALID(port), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID PORT");
 
@@ -590,8 +594,7 @@ int scmirroring_src_set_resolution(scmirroring_src_h scmirroring, scmirroring_re
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((resolution < SCMIRRORING_RESOLUTION_1920x1080_P30) || (resolution >= SCMIRRORING_RESOLUTION_MAX)) {
                scmirroring_error("INVALID resolution : %d", resolution);
@@ -618,8 +621,7 @@ int scmirroring_src_set_server_name(scmirroring_src_h scmirroring, const char *n
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        SCMIRRORING_SAFE_G_FREE(_scmirroring->server_name);
        _scmirroring->server_name = g_strdup(name);
@@ -640,8 +642,7 @@ int scmirroring_src_set_multisink_ability(scmirroring_src_h scmirroring, scmirro
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((multisink < SCMIRRORING_MULTISINK_DISABLE) || (multisink > SCMIRRORING_MULTISINK_ENABLE)) {
                scmirroring_error("INVALID multisink ability : %d", multisink);
@@ -668,8 +669,7 @@ int scmirroring_src_set_coupling_mode(scmirroring_src_h scmirroring, scmirroring
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if ((coupling_mode < SCMIRRORING_COUPLING_MODE_DISABLED) || (coupling_mode > SCMIRRORING_COUPLING_MODE_ENABLED)) {
                scmirroring_error("INVALID coupling mode : %d", coupling_mode);
@@ -702,8 +702,7 @@ int scmirroring_src_connect(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        scmirroring_retvm_if(_scmirroring->connected == CONNECTED_TO_SERVER, SCMIRRORING_ERROR_NONE, "already connected to server.");
 
@@ -812,8 +811,7 @@ int scmirroring_src_disconnect(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(_scmirroring->connected == NOT_CONNECTED_TO_SERVER, SCMIRRORING_ERROR_NONE, "Already disconnected");
 
        ret = __scmirroring_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_DESTROY);
@@ -848,8 +846,7 @@ int scmirroring_src_start(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_START);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -869,8 +866,7 @@ int scmirroring_src_pause(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_PAUSE);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -890,8 +886,7 @@ int scmirroring_src_resume(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_RESUME);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -913,8 +908,7 @@ int scmirroring_src_set_direct_streaming(scmirroring_src_h scmirroring_src,
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
        scmirroring_retvm_if(!STRING_VALID(uri_srcname), SCMIRRORING_ERROR_INVALID_PARAMETER, "INVALID URI_SRCNAME");
        _scmirroring->direct_streaming = enable;
 
@@ -947,8 +941,7 @@ int scmirroring_src_AV_transport_switch(scmirroring_src_h scmirroring,
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (transport < SCMIRRORING_AV_TRANSPORT_UDP || transport > SCMIRRORING_AV_TRANSPORT_TCP) {
                scmirroring_error("Invalid transport");
@@ -973,8 +966,7 @@ int scmirroring_src_stop(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        ret = __scmirroring_src_send_cmd_to_server(_scmirroring, SCMIRRORING_STATE_CMD_STOP);
        if (ret != SCMIRRORING_ERROR_NONE)
@@ -994,8 +986,7 @@ int scmirroring_src_destroy(scmirroring_src_h scmirroring)
 
        scmirroring_debug_fenter();
 
-       scmirroring_retvm_if(_scmirroring == NULL, SCMIRRORING_ERROR_INVALID_PARAMETER, "Handle is NULL");
-       scmirroring_retvm_if(_scmirroring->magic_num != SCMIRRORING_MAGIC_NUMBER, SCMIRRORING_ERROR_INVALID_PARAMETER, "Invalid handle");
+       scmirroring_retvm_if(!__is_valid_handle(_scmirroring), SCMIRRORING_ERROR_INVALID_PARAMETER, "scmirroring is invalid");
 
        if (_scmirroring->connected == CONNECTED_TO_SERVER) {
                ret = scmirroring_src_disconnect(scmirroring);