[ITC][media-controller][ACR-1235][Added APIs to send commands and to reply callback...
authorPriya Kohli <priya.kohli@samsung.com>
Thu, 28 Jun 2018 07:17:58 +0000 (12:47 +0530)
committerAmritanshu Pandia <a.pandia1@samsung.com>
Thu, 5 Jul 2018 06:36:43 +0000 (06:36 +0000)
Change-Id: Ic654dfb5af3c4b6596705e4d64bc5b583af24bd0
Signed-off-by: Priya Kohli <priya.kohli@samsung.com>
src/itc/media-controller/ITs-media-controller-client.c
src/itc/media-controller/ITs-media-controller-common.h
src/itc/media-controller/ITs-media-controller-server.c
src/itc/media-controller/tct-media-controller-native_mobile.h
src/itc/media-controller/tct-media-controller-native_wearable.h

index ba1638d..2ce89f1 100755 (executable)
@@ -31,20 +31,29 @@ mc_subscription_type_e g_eMcSubscriptionType[] = {  MC_SUBSCRIPTION_TYPE_SERVER_S
                                                                                                        MC_SUBSCRIPTION_TYPE_REPEAT_MODE
                                                                                                 };
 
+mc_playback_action_e g_ePlaybackActionArray[] = { MC_PLAYBACK_ACTION_PLAY,
+                                                                                               MC_PLAYBACK_ACTION_PAUSE,
+                                                                                               MC_PLAYBACK_ACTION_STOP,
+                                                                                               MC_PLAYBACK_ACTION_NEXT,
+                                                                                               MC_PLAYBACK_ACTION_PREV,
+                                                                                               MC_PLAYBACK_ACTION_FAST_FORWARD,
+                                                                                               MC_PLAYBACK_ACTION_REWIND,
+                                                                                               MC_PLAYBACK_ACTION_TOGGLE_PLAY_PAUSE};
+
 /*****************************************************Enum Definition End*****************************************************/
 
 /****************************************************Callback Start****************************************************/
 
 /**
- * @function           ServerPlayBackStateCallBack
+ * @function           ServerPlayBackActionCallBack
  * @description                Callback Function
- * @parameter          const char* client_name, mc_playback_states_e state, void *user_data
+ * @parameter          const char* client_name, const char *request_id, mc_playback_action_e action, void *user_data
  * @return                     NA
  */
-void ServerPlayBackStateCallBack(const char* client_name, mc_playback_states_e state, void *user_data)
+void ServerPlayBackActionCallBack(const char* client_name, const char *request_id, mc_playback_action_e action, void *user_data)
 {
 #if DEBUG
-       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerPlayBackStateCallBack");
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerPlayBackActionCallBack");
 #endif
 
        g_CallBackHit = true;
@@ -192,10 +201,10 @@ void ServerCustomCommandCallBack(const char* client_name, const char *command, b
 /**
  * @function           ClientCustomComandReplyCallBack
  * @description                Callback Function
- * @parameter          const char *server_name, int result_code, bundle *data, void *user_data
+ * @parameter          const char *server_name, const char *request_id, int result_code, bundle *data, void *user_data
  * @return                     NA
  */
-void ClientCustomComandReplyCallBack(const char *server_name, int result_code, bundle *data, void *user_data)
+void ClientCustomComandReplyCallBack(const char *server_name, const char *request_id, int result_code, bundle *data, void *user_data)
 {
 #if DEBUG
        FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ClientCustomComandReplyCallBack");
@@ -725,7 +734,7 @@ int ITc_mc_client_get_playback_position_p(void)
        unsigned long long ullPosition = 0;
 
        nRet = GetCompleteServerInfo();
-    PRINT_RESULT(0, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+    PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
 
        nRet = mc_client_get_server_playback_info(g_hMcClient, g_szServerName, &hPlayBack);
        PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_get_server_playback_info", MediaControllerGetError(nRet));
@@ -815,83 +824,50 @@ int ITs_mc_client_foreach_server_p(void)
 }
 
 /**
- * @testcase                           ITs_mc_client_send_custom_command_p
- * @author                     SRID(abhishek1.g)
- * @reviewer                   SRID(gupta.sanjay)
+ * @testcase                           ITs_mc_client_send_playback_action_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
  * @type                                       auto
- * @since_tizen                        2.4
- * @description                                To test mc_server_set_custom_command_received_cb and mc_client_send_custom_command and mc_server_unset_custom_command_received_cb
- * @scenario                           Call mc_server_set_custom_command_received_cb, mc_client_send_custom_command and mc_server_unset_custom_command_received_cb
- * @apicovered                         mc_server_set_custom_command_received_cb, mc_client_send_custom_command and mc_server_unset_custom_command_received_cb
- * @passcase                           If mc_server_set_custom_command_received_cb, mc_client_send_custom_command and mc_server_unset_custom_command_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
+ * @since_tizen                        4.0
+ * @description                                To test mc_server_set_playback_action_cmd_received_cb and mc_client_send_playback_action_cmd and mc_server_unset_playback_action_cmd_received_cb
+ * @scenario                           Call mc_server_set_playback_action_cmd_received_cb, mc_client_send_playback_action_cmd and mc_server_unset_playback_action_cmd_received_cb
+ * @apicovered                         mc_server_set_playback_action_cmd_received_cb, mc_client_send_playback_action_cmd and mc_server_unset_playback_action_cmd_received_cb
+ * @passcase                           If mc_server_set_playback_action_cmd_received_cb, mc_client_send_playback_action_cmd and mc_server_unset_playback_action_cmd_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
  * @failcase                           If Precondition API or Target API Fails
  * @precondition                       NA
  * @postcondition                      NA
  * */
 //& type: auto
-//& purpose: To test mc_server_set_custom_command_received_cb, mc_client_send_custom_command and mc_server_unset_custom_command_received_cb
-int ITs_mc_client_send_custom_command_p(void)
+//& purpose: To test mc_server_set_playback_action_cmd_received_cb and mc_client_send_playback_action_cmd and mc_server_unset_playback_action_cmd_received_cb
+int ITs_mc_client_send_playback_action_cmd_p(void)
 {
     START_TEST;
 
        int nRet = -1;
-
-       g_CallBackHit = false;
-       nRet = mc_server_set_custom_command_received_cb(g_hMcServer, ServerCustomCommandCallBack, NULL);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_custom_command_received_cb", MediaControllerGetError(nRet));
+       mc_playback_action_e ePlaybackAction;
+       int nSize = sizeof(g_ePlaybackActionArray)/sizeof(g_ePlaybackActionArray[0]);
+       bundle *bundle_data = NULL;
 
        nRet = GetCompleteServerInfo();
-    PRINT_RESULT_CLEANUP(0, nRet, "GetCompleteServerInfo", "Return Value Not Correct", mc_server_unset_custom_command_received_cb(g_hMcServer));
-
-    nRet = mc_client_send_custom_command(g_hMcClient, g_szServerName, TESTCOMMAND, NULL, ClientCustomComandReplyCallBack, NULL);
-    PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_custom_command", MediaControllerGetError(nRet), mc_server_unset_custom_command_received_cb(g_hMcServer));
-
-       IterateGmainLoop();
-       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "mc_client_send_custom_command", "CallBack Not Invoked", mc_server_unset_custom_command_received_cb(g_hMcServer));
+    PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct", mc_server_unset_playback_action_cmd_received_cb(g_hMcServer));
 
-       nRet = mc_server_unset_custom_command_received_cb(g_hMcServer);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_custom_command_received_cb", MediaControllerGetError(nRet));
-
-       return 0;
-}
-
-/**
- * @testcase                           ITs_mc_client_send_playback_state_command_p
- * @author                     SRID(abhishek1.g)
- * @reviewer                   SRID(gupta.sanjay)
- * @type                                       auto
- * @since_tizen                        2.4
- * @description                                To test mc_server_set_playback_state_command_received_cb and mc_client_send_playback_state_command and mc_server_unset_playback_state_command_received_cb
- * @scenario                           Call mc_server_set_playback_state_command_received_cb, mc_client_send_playback_state_command and mc_server_unset_playback_state_command_received_cb
- * @apicovered                         mc_server_set_playback_state_command_received_cb, mc_client_send_playback_state_command and mc_server_unset_playback_state_command_received_cb
- * @passcase                           If mc_server_set_playback_state_command_received_cb, mc_client_send_playback_state_command and mc_server_unset_playback_state_command_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
- * @failcase                           If Precondition API or Target API Fails
- * @precondition                       NA
- * @postcondition                      NA
- * */
-//& type: auto
-//& purpose: To test mc_server_set_playback_state_command_received_cb and mc_client_send_playback_state_command and mc_server_unset_playback_state_command_received_cb
-int ITs_mc_client_send_playback_state_command_p(void)
-{
-    START_TEST;
-
-       int nRet = -1;
-
-       g_CallBackHit = false;
-       nRet = mc_server_set_playback_state_command_received_cb(g_hMcServer, ServerPlayBackStateCallBack, NULL);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_playback_state_command_received_cb", MediaControllerGetError(nRet));
+       for ( int nCounter = 0; nCounter < nSize; nCounter++ )
+       {
+               g_CallBackHit = false;
+               ePlaybackAction = g_ePlaybackActionArray[nCounter];
 
-       nRet = GetCompleteServerInfo();
-    PRINT_RESULT_CLEANUP(0, nRet, "GetCompleteServerInfo", "Return Value Not Correct", mc_server_unset_playback_state_command_received_cb(g_hMcServer));
+               nRet = mc_server_set_playback_action_cmd_received_cb(g_hMcServer, ServerPlayBackActionCallBack, bundle_data);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_playback_action_cmd_received_cb", MediaControllerGetError(nRet));
 
-    nRet = mc_client_send_playback_state_command(g_hMcClient, g_szServerName, MC_PLAYBACK_STATE_PLAYING);
-    PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playback_state_command", MediaControllerGetError(nRet), mc_server_unset_playback_state_command_received_cb(g_hMcServer));
+               nRet = mc_client_send_playback_action_cmd(g_hMcClient, g_szServerName, ePlaybackAction, &g_request_id);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playback_action_cmd", MediaControllerGetError(nRet));
 
-       IterateGmainLoop();
-       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "mc_client_send_playback_state_command", "CallBack Not Invoked", mc_server_unset_playback_state_command_received_cb(g_hMcServer));
+               IterateGmainLoop();
+               PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerPlayBackActionCallBack", "CallBack Not Invoked", mc_server_unset_playback_action_cmd_received_cb(g_hMcServer));
 
-       nRet = mc_server_unset_playback_state_command_received_cb(g_hMcServer);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_playback_state_command_received_cb", MediaControllerGetError(nRet));
+               nRet = mc_server_unset_playback_action_cmd_received_cb(g_hMcServer);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_playback_action_cmd_received_cb", MediaControllerGetError(nRet));
+       }
 
        return 0;
 }
@@ -990,5 +966,233 @@ int ITc_mc_client_foreach_server_subscribed_p(void)
     return 0;
 }
 
+/**
+ * @testcase                           ITc_mc_client_send_playback_position_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                To test mc_client_get_playback_position
+ * @scenario                           Call mc_client_get_playback_position
+ * @apicovered                         mc_client_send_playback_position_cmd
+ * @passcase                           If mc_client_send_playback_position_cmd returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller client handle by calling mc_client_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To test mc_client_send_playback_position_cmd
+int ITc_mc_client_send_playback_position_cmd_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       unsigned long long ullSetPosition = 15;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_client_send_playback_position_cmd(g_hMcClient, g_szServerName, ullSetPosition, &g_request_id);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playback_position_cmd", MediaControllerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_client_send_shuffle_mode_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                To test mc_client_get_playback_position
+ * @scenario                           Call mc_client_get_playback_position
+ * @apicovered                         mc_client_get_playback_position,mc_client_send_shuffle_mode_cmd
+ * @passcase                           If mc_client_send_shuffle_mode_cmd returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller client handle by calling mc_client_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To test mc_client_send_shuffle_mode_cmd
+int ITc_mc_client_send_shuffle_mode_cmd_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       mc_shuffle_mode_e eShuffleModeArray[] = { MC_SHUFFLE_MODE_ON,
+                                                                                       MC_SHUFFLE_MODE_OFF};
+       mc_shuffle_mode_e eShuffleMode;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       int nSize = sizeof(eShuffleModeArray)/sizeof(eShuffleModeArray[0]);
+
+       for(int nCounter = 0; nCounter < nSize; nCounter++)
+       {
+               eShuffleMode = eShuffleModeArray[nCounter];
+               nRet = mc_client_send_shuffle_mode_cmd(g_hMcClient, g_szServerName, eShuffleMode, &g_request_id);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_shuffle_mode_cmd", MediaControllerGetError(nRet));
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_client_send_repeat_mode_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                To test mc_client_get_playback_position
+ * @scenario                           Call mc_client_get_playback_position
+ * @apicovered                         mc_client_get_playback_position,mc_client_send_repeat_mode_cmd
+ * @passcase                           If mc_client_send_repeat_mode_cmd returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller client handle by calling mc_client_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To test mc_client_send_repeat_mode_cmd
+int ITc_mc_client_send_repeat_mode_cmd_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       mc_repeat_mode_e eRepeatModeArray[] = { MC_REPEAT_MODE_ON,
+                                                                                       MC_REPEAT_MODE_OFF,
+                                                                                       MC_REPEAT_MODE_ONE_MEDIA};
+       mc_repeat_mode_e eRepeatMode;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       int nSize = sizeof(eRepeatModeArray)/sizeof(eRepeatModeArray[0]);
+
+       for(int nCounter = 0; nCounter < nSize; nCounter++)
+       {
+               eRepeatMode = eRepeatModeArray[nCounter];
+               nRet = mc_client_send_repeat_mode_cmd(g_hMcClient, g_szServerName, eRepeatMode, &g_request_id);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_repeat_mode_cmd", MediaControllerGetError(nRet));
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_client_send_playlist_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                To test mc_client_send_playlist_cmd
+ * @scenario                           Call mc_client_send_playlist_cmd
+ * @apicovered                         mc_client_send_playlist_cmd
+ * @passcase                           If mc_client_send_playlist_cmd returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller client handle by calling mc_client_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To test mc_client_send_playlist_cmd
+int ITc_mc_client_send_playlist_cmd_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       const char *pszIndex="3";
+       unsigned long long ullPosition = 0;
+       mc_playback_action_e ePlaybackAction;
+       int nSize = sizeof(g_ePlaybackActionArray)/sizeof(g_ePlaybackActionArray[0]);
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       for ( int nCounter = 0; nCounter < nSize; nCounter++ )
+       {
+               ePlaybackAction = g_ePlaybackActionArray[nCounter];
+
+               nRet = mc_client_send_playlist_cmd(g_hMcClient, g_szServerName, g_szPlaylistName, pszIndex, ePlaybackAction, ullPosition, &g_request_id);
+               PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playlist_cmd", MediaControllerGetError(nRet));
+       }
+
+       return 0;
+}
+
+
+/**
+ * @testcase                           ITc_mc_client_send_custom_cmd_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sends the custom command to server.
+ * @scenario                           Call mc_client_send_custom_cmd
+ * @apicovered                         mc_client_send_custom_cmd
+ * @passcase                           If mc_client_send_custom_cmd returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       NA
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: Sends the custom command to server.
+int ITc_mc_client_send_custom_cmd_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       bundle *bundle_data = NULL;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_client_send_custom_cmd(g_hMcClient, g_szServerName, TESTCOMMAND, bundle_data, g_request_id);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_custom_cmd", MediaControllerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_client_set_unset_cmd_reply_received_cb_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sets the callback for receiving the result of the command from the media controller server.
+ * @scenario                           The media controller client which calls this function will receives the result of the command from all media controller servers.
+ * @apicovered                         mc_client_set_cmd_reply_received_cb, mc_client_send_custom_cmd, mc_client_unset_cmd_reply_received_cb
+ * @passcase                           If mc_client_set_cmd_reply_received_cb, mc_client_send_custom_cmd, mc_client_unset_cmd_reply_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       NA
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To set the callback for receiving the result of the command from the media controller server.
+int ITc_mc_client_set_unset_cmd_reply_received_cb_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       bundle *bundle_data = NULL;
+       void *user_data = NULL;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+    nRet = mc_client_set_cmd_reply_received_cb(g_hMcClient, ClientCustomComandReplyCallBack, user_data);
+    PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "ClientCustomComandReplyCallBack", MediaControllerGetError(nRet));
+
+       nRet = mc_client_send_custom_cmd(g_hMcClient, g_szServerName, TESTCOMMAND, bundle_data, g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_custom_cmd", MediaControllerGetError(nRet), mc_client_unset_cmd_reply_received_cb(g_hMcClient));
+
+       IterateGmainLoop();
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "mc_client_set_cmd_reply_received_cb", "CallBack Not Invoked", mc_client_unset_cmd_reply_received_cb(g_hMcClient));
+
+    nRet = mc_client_unset_cmd_reply_received_cb(g_hMcClient);
+    PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_unset_cmd_reply_received_cb", MediaControllerGetError(nRet));
+
+    return 0;
+}
+
+/** @} */
 /** @} */
-/** @} */
\ No newline at end of file
index 15b83ec..0f87899 100755 (executable)
@@ -102,16 +102,23 @@ char g_szServerName[PATHLEN];
 char g_szClientName[PATHLEN];
 int g_nTimeoutId;
 GMainLoop *g_pMainLoop;
+const static char *g_szPlaylistName = "test_playlist";
+static char *g_request_id = NULL;
 
 //Add callback function declarations here
-void ServerPlayBackStateCallBack(const char* client_name, mc_playback_states_e state, void *user_data);
+void ServerPlayBackActionCallBack(const char* client_name, const char *request_id, mc_playback_action_e action, void *user_data);
 void ServerCustomCommandCallBack(const char* client_name, const char *command, bundle *data, void *user_data);
+void ServerRepeateModeCommandReceivedCallBack(const char* client_name, const char *request_id, mc_repeat_mode_e repeat_mode, void *user_data);
+void ServerShufleModeCommandReceivedCallBack(const char* client_name, const char *request_id, mc_shuffle_mode_e shuffle_mode, void *user_data);
+void ServerPositionCommandReceivedCallBack(const char* client_name, const char *request_id, unsigned long long position, void *user_data);
+void ServerPlaylistCommandReceivedCallback(const char* client_name, const char *request_id, const char *playlist_name, const char *index, mc_playback_action_e action, unsigned long long position, void *user_data);
+void ServerCustomCommandReceivedCallback(const char client_name, const char *request_id, const char *command, bundle *data, void *user_data);
 void ClientServerStateUpdatedCallBack(const char *server_name, mc_server_state_e state, void *user_data);
 void ClientPlayBackUpdatedCallBack(const char *server_name, mc_playback_h playback, void *user_data);
 void ClientMetadataUpdatedCallBack(const char *server_name, mc_metadata_h metadata, void *user_data);
 void ClientShuffleModeUpdatedCallBack(const char *server_name, mc_shuffle_mode_e mode, void *user_data);
 void ClientRepeatModeUpdatedCallBack(const char *server_name, mc_repeat_mode_e mode, void *user_data);
-void ClientCustomComandReplyCallBack(const char *server_name, int result_code, bundle *data, void *user_data);
+void ClientCustomComandReplyCallBack(const char *server_name, const char *request_id, int result_code, bundle *data, void *user_data);
 
 //Add helper function declarations here
 char* MediaControllerGetError(int nRet);
index 436fc68..fa170d0 100755 (executable)
@@ -15,6 +15,8 @@
 //
 #include "ITs-media-controller-common.h"
 
+void *g_UserData = NULL;
+
 //& set: MediaController
 
 /** @addtogroup itc-media-controller-server
@@ -64,6 +66,89 @@ void ITs_media_controller_server_cleanup(void)
        return;
 }
 
+/*
+ * @function           ServerPositionCommandReceivedCallBack
+ * @description                Callback Function
+ * @parameter          const char* client_name, const char *request_id, unsigned long long position, void *user_data
+ * @return                     NA
+ */
+void ServerPositionCommandReceivedCallBack(const char* client_name, const char *request_id, unsigned long long position, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerPositionCommandReceivedCallBack");
+#endif
+
+       g_CallBackHit = true;
+       QuitGmainLoop();
+       return;
+}
+
+/*
+ * @function           ServerShufleModeCommandReceivedCallBack
+ * @description                Callback Function
+ * @parameter          const char* client_name, const char *request_id, mc_shuffle_mode_e shuffle_mode, void *user_data
+ * @return                     NA
+ */
+void ServerShufleModeCommandReceivedCallBack(const char* client_name, const char *request_id, mc_shuffle_mode_e shuffle_mode, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerShufleModeCommandReceivedCallBack");
+#endif
+
+       g_CallBackHit = true;
+       QuitGmainLoop();
+       return;
+}
+
+/*
+ * @function           ServerRepeateModeCommandReceivedCallBack
+ * @description                Callback Function
+ * @parameter          const char* client_name, const char *request_id, mc_repeat_mode_e repeat_mode, void *user_data
+ * @return                     NA
+ */
+void ServerRepeateModeCommandReceivedCallBack(const char* client_name, const char *request_id, mc_repeat_mode_e repeat_mode, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerRepeateModeCommandReceivedCallBack");
+#endif
+
+       g_CallBackHit = true;
+       QuitGmainLoop();
+       return;
+}
+/*
+ * @function           ServerPlaylistCommandReceivedCallback
+ * @description                Callback Function
+ * @parameter          const char* client_name, const char *request_id, const char *playlist_name, const char *index, mc_playback_action_e action, unsigned long long position, void *user_data
+ * @return                     NA
+ */
+void ServerPlaylistCommandReceivedCallback(const char* client_name, const char *request_id, const char *playlist_name, const char *index, mc_playback_action_e action, unsigned long long position, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerPlaylistCommandReceivedCallback");
+#endif
+
+       strncpy(g_szClientName, client_name, PATHLEN);
+       g_CallBackHit = true;
+       QuitGmainLoop();
+}
+
+/*
+ * @function           ServerCustomCommandReceivedCallback
+ * @description                Callback Function
+ * @parameter          const char client_name, const char *request_id, const char *command, bundle *data, void *user_data
+ * @return                     NA
+ */
+void ServerCustomCommandReceivedCallback(const char client_name, const char *request_id, const char *command, bundle *data, void *user_data)
+{
+#if DEBUG
+       FPRINTF("[Line : %d][%s] %s Callback Invoked\\n", __LINE__, API_NAMESPACE, "ServerCustomCommandReceivedCallback");
+#endif
+       g_CallBackHit = true;
+       QuitGmainLoop();
+}
+
+
 /** @addtogroup itc-media-controller-testcases
 *  @brief              Integration testcases for module media-controller
 *  @ingroup    itc-media-controller
@@ -315,55 +400,213 @@ int ITc_mc_server_update_repeat_mode_p(void)
 }
 
 /**
- * @testcase                           ITs_mc_server_send_command_reply_p
- * @author                     SRID(abhishek1.g)
- * @reviewer                   SRID(gupta.sanjay)
+ * @testcase                           ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
  * @type                                       auto
- * @since_tizen                        2.4
- * @description                                To test mc_server_send_command_reply
- * @scenario                           Call mc_server_send_command_reply
- * @apicovered                         mc_server_send_command_reply
- * @passcase                           If mc_server_send_command_reply returns MEDIA_CONTROLLER_ERROR_NONE
+ * @since_tizen                        4.0
+ * @description                                Sets and unsets the callback for receiving repeat mode command from client.
+ * @scenario                           Call mc_server_set_repeat_mode_cmd_received_cb, mc_server_unset_repeat_mode_cmd_received_cb
+ * @apicovered                         mc_server_set_repeat_mode_cmd_received_cb,mc_server_unset_repeat_mode_cmd_received_cb
+ * @passcase                           If mc_server_set_repeat_mode_cmd_received_cb, mc_server_unset_repeat_mode_cmd_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
  * @failcase                           If Precondition API or Target API Fails
- * @precondition                       NA
+ * @precondition                       Create a media controller server handle by calling mc_server_create().
  * @postcondition                      NA
  * */
 //& type: auto
-//& purpose: To test mc_server_send_command_reply
-int ITs_mc_server_send_command_reply_p(void)
+//& purpose: To set and unset the callback for receiving repeat mode command from client.
+int ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p(void)
 {
-    START_TEST;
+       START_TEST;
 
        int nRet = -1;
-
        g_CallBackHit = false;
-       nRet = mc_server_set_custom_command_received_cb(g_hMcServer, ServerCustomCommandCallBack, NULL);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_custom_command_received_cb", MediaControllerGetError(nRet));
 
        nRet = GetCompleteServerInfo();
-    PRINT_RESULT_CLEANUP(0, nRet, "GetCompleteServerInfo", "Return Value Not Correct", mc_server_unset_custom_command_received_cb(g_hMcServer));
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_server_set_repeat_mode_cmd_received_cb(g_hMcServer, ServerRepeateModeCommandReceivedCallBack, g_UserData);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_repeat_mode_cmd_received_cb", MediaControllerGetError(nRet));
+
+       nRet = mc_client_send_repeat_mode_cmd(g_hMcClient, g_szServerName, MC_REPEAT_MODE_ON, &g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_repeat_mode_cmd", MediaControllerGetError(nRet),mc_server_unset_repeat_mode_cmd_received_cb(g_hMcServer));
 
-    nRet = mc_client_send_custom_command(g_hMcClient, g_szServerName, TESTCOMMAND, NULL, ClientCustomComandReplyCallBack, NULL);
-    PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_custom_command", MediaControllerGetError(nRet), mc_server_unset_custom_command_received_cb(g_hMcServer));
        IterateGmainLoop();
-       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "mc_client_send_custom_command", "CallBack Not Invoked", mc_server_unset_custom_command_received_cb(g_hMcServer));
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerRepeateModeCommandReceivedCallBack", "CallBack Not Invoked", mc_server_unset_playback_position_cmd_received_cb(g_hMcServer));
 
-       bundle *pBundle = bundle_create();
-    bundle_add_str(pBundle, "key1", "value1");
+       nRet = mc_server_unset_repeat_mode_cmd_received_cb(g_hMcServer);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_repeat_mode_cmd_received_cb", MediaControllerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sets and unsets the callback for receiving shuffle mode command from client.
+ * @scenario                           Call mc_server_set_shuffle_mode_cmd_received_cb, mc_server_unset_shuffle_mode_cmd_received_cb
+ * @apicovered                         mc_server_set_shuffle_mode_cmd_received_cb,mc_server_unset_shuffle_mode_cmd_received_cb
+ * @passcase                           If mc_server_set_shuffle_mode_cmd_received_cb, mc_server_unset_shuffle_mode_cmd_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller server handle by calling mc_server_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To set and unset the callback for receiving shuffle mode command from client.
+int ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p(void)
+{
+       START_TEST;
 
+       int nRet = -1;
        g_CallBackHit = false;
-       nRet = mc_server_send_command_reply(g_hMcServer, g_szClientName, MEDIA_CONTROLLER_ERROR_NONE, pBundle);
-       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_send_command_reply", MediaControllerGetError(nRet), bundle_free(pBundle); mc_server_unset_custom_command_received_cb(g_hMcServer));
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_server_set_shuffle_mode_cmd_received_cb(g_hMcServer, ServerShufleModeCommandReceivedCallBack, g_UserData);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_shuffle_mode_cmd_received_cb", MediaControllerGetError(nRet));
+
+       nRet = mc_client_send_shuffle_mode_cmd(g_hMcClient, g_szServerName, MC_SHUFFLE_MODE_ON, &g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_shuffle_mode_cmd", MediaControllerGetError(nRet),mc_server_unset_shuffle_mode_cmd_received_cb(g_hMcServer));
+
        IterateGmainLoop();
-       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "mc_server_send_command_reply", "CallBack Not Invoked", bundle_free(pBundle); mc_server_unset_custom_command_received_cb(g_hMcServer));
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerShufleModeCommandReceivedCallBack", "CallBack Not Invoked", mc_server_unset_shuffle_mode_cmd_received_cb(g_hMcServer));
+
+       nRet = mc_server_unset_shuffle_mode_cmd_received_cb(g_hMcServer);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_shuffle_mode_cmd_received_cb", MediaControllerGetError(nRet));
+
+       return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_server_set_unset_playback_position_cmd_received_cb_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sets and unsets the callback for receiving playback position command from client.
+ * @scenario                           Call mc_server_set_playback_position_cmd_received_cb
+ * @apicovered                         mc_server_set_playback_position_cmd_received_cb, mc_server_set_playback_position, mc_server_unset_playback_position_cmd_received_cb
+ * @passcase                           If mc_server_set_playback_position_cmd_received_cb , mc_server_unset_playback_position_cmd_received_cbreturns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       Create a media controller server handle by calling mc_server_create().
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To set and unset the callback for receiving playback position command from client.
+int ITc_mc_server_set_unset_playback_position_cmd_received_cb_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       g_CallBackHit = false;
+       unsigned long long ullSetPosition = 15;
 
-       bundle_free(pBundle);
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_server_set_playback_position_cmd_received_cb(g_hMcServer, ServerPositionCommandReceivedCallBack, g_UserData);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_playback_position_cmd_received_cb", MediaControllerGetError(nRet));
 
-       nRet = mc_server_unset_custom_command_received_cb(g_hMcServer);
-       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_custom_command_received_cb", MediaControllerGetError(nRet));
+       nRet = mc_client_send_playback_position_cmd(g_hMcClient, g_szServerName, ullSetPosition, &g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playback_position_cmd", MediaControllerGetError(nRet), mc_server_unset_playback_position_cmd_received_cb(g_hMcServer));
+
+       IterateGmainLoop();
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerPositionCommandReceivedCallBack", "CallBack Not Invoked", mc_server_unset_playback_position_cmd_received_cb(g_hMcServer));
+
+       nRet = mc_server_unset_playback_position_cmd_received_cb(g_hMcServer);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_playback_position_cmd_received_cb", MediaControllerGetError(nRet));
 
        return 0;
 }
 
+/**
+ * @testcase                           ITc_mc_server_set_unset_playlist_cmd_received_cb_p
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sets and unsets the callback for receiving playlist command from client.
+ * @scenario                           Call mc_server_set_playlist_cmd_received_cb,mc_server_unset_playlist_cmd_received_cb
+ * @apicovered                         mc_server_set_playlist_cmd_received_cb,mc_server_unset_playlist_cmd_received_cb
+ * @passcase                           If mc_server_set_playlist_cmd_received_cb,mc_server_unset_playlist_cmd_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       NA
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To set and unset the callback for receiving playlist command from client.
+int ITc_mc_server_set_unset_playlist_cmd_received_cb_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       g_CallBackHit = false;
+       const char *pszIndex="3";
+       unsigned long long ullPosition = 0;
+
+       nRet = mc_server_set_playlist_cmd_received_cb(g_hMcServer, ServerPlaylistCommandReceivedCallback,g_UserData);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_playlist_cmd_received_cb", MediaControllerGetError(nRet));
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+       nRet = mc_client_send_playlist_cmd(g_hMcClient, g_szServerName, g_szPlaylistName, pszIndex, MC_PLAYBACK_ACTION_PLAY, ullPosition, &g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_playlist_cmd", MediaControllerGetError(nRet),mc_server_unset_playlist_cmd_received_cb(g_hMcServer));
+
+       IterateGmainLoop();
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerPlaylistCommandReceivedCallback", "CallBack Not Invoked", mc_server_unset_playlist_cmd_received_cb(g_hMcServer));
+
+       nRet = mc_server_unset_playlist_cmd_received_cb(g_hMcServer);
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_playlist_cmd_received_cb", MediaControllerGetError(nRet));
+
+    return 0;
+}
+
+/**
+ * @testcase                           ITc_mc_server_set_unset_custom_cmd_received_cb
+ * @author                     SRID(priya.kohli)
+ * @reviewer                   SRID(a.pandia1)
+ * @type                                       auto
+ * @since_tizen                        4.0
+ * @description                                Sets and Unsets the callback for receiving custom command from client.
+ * @scenario                           Call mc_server_set_custom_cmd_received_cb, mc_server_unset_custom_cmd_received_cb
+ * @apicovered                         mc_server_set_custom_cmd_received_cb, mc_client_send_custom_cmd, mc_server_unset_custom_cmd_received_cb
+ * @passcase                           If mc_server_set_custom_cmd_received_cb, mc_client_send_custom_cmd, mc_server_unset_custom_cmd_received_cb returns MEDIA_CONTROLLER_ERROR_NONE
+ * @failcase                           If Precondition API or Target API Fails
+ * @precondition                       NA
+ * @postcondition                      NA
+ * */
+//& type: auto
+//& purpose: To set and unset the callback for receiving custom command from client.
+int ITc_mc_server_set_unset_custom_cmd_received_cb_p(void)
+{
+       START_TEST;
+
+       int nRet = -1;
+       g_CallBackHit = false;
+       bundle *bundle_data = NULL;
+
+       nRet = GetCompleteServerInfo();
+       PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "GetCompleteServerInfo", "Return Value Not Correct");
+
+    nRet = mc_server_set_custom_cmd_received_cb(g_hMcServer, ServerCustomCommandReceivedCallback, g_UserData);
+    PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_set_custom_cmd_received_cb", MediaControllerGetError(nRet));
+
+       nRet = mc_client_send_custom_cmd(g_hMcClient, g_szServerName, TESTCOMMAND, bundle_data, g_request_id);
+       PRINT_RESULT_CLEANUP(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_client_send_custom_cmd", MediaControllerGetError(nRet), mc_server_unset_custom_cmd_received_cb(g_hMcServer));
+
+       IterateGmainLoop();
+       PRINT_RESULT_CLEANUP(true, g_CallBackHit, "ServerCustomCommandReceivedCallback", "CallBack Not Invoked", mc_server_unset_custom_cmd_received_cb(g_hMcServer));
+
+    nRet = mc_server_unset_custom_cmd_received_cb(g_hMcServer);
+    PRINT_RESULT(MEDIA_CONTROLLER_ERROR_NONE, nRet, "mc_server_unset_custom_cmd_received_cb", MediaControllerGetError(nRet));
+
+    return 0;
+}
+
 /** @} */
 /** @} */
\ No newline at end of file
index 9fb812c..fc434a3 100755 (executable)
@@ -32,7 +32,11 @@ extern int ITc_mc_server_update_playback_info_p(void);
 extern int ITc_mc_server_update_metadata_p(void);
 extern int ITc_mc_server_update_shuffle_mode_p(void);
 extern int ITc_mc_server_update_repeat_mode_p(void);
-extern int ITs_mc_server_send_command_reply_p(void);
+extern int ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_playback_position_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_playlist_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_custom_cmd_received_cb_p(void);
 extern int ITs_mc_client_create_destroy_p(void);
 extern int ITs_mc_client_set_unset_server_update_cb_p(void);
 extern int ITs_mc_client_set_unset_playback_update_cb_p(void);
@@ -48,10 +52,15 @@ extern int ITc_mc_client_get_playback_state_p(void);
 extern int ITc_mc_client_get_playback_position_p(void);
 extern int ITc_mc_client_get_metadata_p(void);
 extern int ITs_mc_client_foreach_server_p(void);
-extern int ITs_mc_client_send_custom_command_p(void);
-extern int ITs_mc_client_send_playback_state_command_p(void);
+extern int ITs_mc_client_send_playback_action_cmd_p(void);
 extern int ITc_mc_client_subscribe_unsubscribe_p(void);
 extern int ITc_mc_client_foreach_server_subscribed_p(void);
+extern int ITc_mc_client_send_playback_position_cmd_p(void);
+extern int ITc_mc_client_send_shuffle_mode_cmd_p(void);
+extern int ITc_mc_client_send_repeat_mode_cmd_p(void);
+extern int ITc_mc_client_send_playlist_cmd_p(void);
+extern int ITc_mc_client_send_custom_cmd_p(void);
+extern int ITc_mc_client_set_unset_cmd_reply_received_cb_p(void);
 
 testcase tc_array[] = {
        {"ITc_mc_server_create_destroy_p",ITc_mc_server_create_destroy_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
@@ -62,7 +71,11 @@ testcase tc_array[] = {
        {"ITc_mc_server_update_metadata_p",ITc_mc_server_update_metadata_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITc_mc_server_update_shuffle_mode_p",ITc_mc_server_update_shuffle_mode_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITc_mc_server_update_repeat_mode_p",ITc_mc_server_update_repeat_mode_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
-       {"ITs_mc_server_send_command_reply_p",ITs_mc_server_send_command_reply_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p",ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p",ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_playback_position_cmd_received_cb_p",ITc_mc_server_set_unset_playback_position_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_playlist_cmd_received_cb_p",ITc_mc_server_set_unset_playlist_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_custom_cmd_received_cb_p",ITc_mc_server_set_unset_custom_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITs_mc_client_create_destroy_p",ITs_mc_client_create_destroy_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_set_unset_server_update_cb_p",ITs_mc_client_set_unset_server_update_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_set_unset_playback_update_cb_p",ITs_mc_client_set_unset_playback_update_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
@@ -78,10 +91,15 @@ testcase tc_array[] = {
        {"ITc_mc_client_get_playback_position_p",ITc_mc_client_get_playback_position_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_get_metadata_p",ITc_mc_client_get_metadata_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_foreach_server_p",ITs_mc_client_foreach_server_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
-       {"ITs_mc_client_send_custom_command_p",ITs_mc_client_send_custom_command_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
-       {"ITs_mc_client_send_playback_state_command_p",ITs_mc_client_send_playback_state_command_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITs_mc_client_send_playback_action_cmd_p",ITs_mc_client_send_playback_action_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_subscribe_unsubscribe_p",ITc_mc_client_subscribe_unsubscribe_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_foreach_server_subscribed_p",ITc_mc_client_foreach_server_subscribed_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_playback_position_cmd_p",ITc_mc_client_send_playback_position_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_shuffle_mode_cmd_p",ITc_mc_client_send_shuffle_mode_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_repeat_mode_cmd_p",ITc_mc_client_send_repeat_mode_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_playlist_cmd_p",ITc_mc_client_send_playlist_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_custom_cmd_p",ITc_mc_client_send_custom_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_set_unset_cmd_reply_received_cb_p",ITc_mc_client_set_unset_cmd_reply_received_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {NULL, NULL}
 };
 
index 9fb812c..fc434a3 100755 (executable)
@@ -32,7 +32,11 @@ extern int ITc_mc_server_update_playback_info_p(void);
 extern int ITc_mc_server_update_metadata_p(void);
 extern int ITc_mc_server_update_shuffle_mode_p(void);
 extern int ITc_mc_server_update_repeat_mode_p(void);
-extern int ITs_mc_server_send_command_reply_p(void);
+extern int ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_playback_position_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_playlist_cmd_received_cb_p(void);
+extern int ITc_mc_server_set_unset_custom_cmd_received_cb_p(void);
 extern int ITs_mc_client_create_destroy_p(void);
 extern int ITs_mc_client_set_unset_server_update_cb_p(void);
 extern int ITs_mc_client_set_unset_playback_update_cb_p(void);
@@ -48,10 +52,15 @@ extern int ITc_mc_client_get_playback_state_p(void);
 extern int ITc_mc_client_get_playback_position_p(void);
 extern int ITc_mc_client_get_metadata_p(void);
 extern int ITs_mc_client_foreach_server_p(void);
-extern int ITs_mc_client_send_custom_command_p(void);
-extern int ITs_mc_client_send_playback_state_command_p(void);
+extern int ITs_mc_client_send_playback_action_cmd_p(void);
 extern int ITc_mc_client_subscribe_unsubscribe_p(void);
 extern int ITc_mc_client_foreach_server_subscribed_p(void);
+extern int ITc_mc_client_send_playback_position_cmd_p(void);
+extern int ITc_mc_client_send_shuffle_mode_cmd_p(void);
+extern int ITc_mc_client_send_repeat_mode_cmd_p(void);
+extern int ITc_mc_client_send_playlist_cmd_p(void);
+extern int ITc_mc_client_send_custom_cmd_p(void);
+extern int ITc_mc_client_set_unset_cmd_reply_received_cb_p(void);
 
 testcase tc_array[] = {
        {"ITc_mc_server_create_destroy_p",ITc_mc_server_create_destroy_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
@@ -62,7 +71,11 @@ testcase tc_array[] = {
        {"ITc_mc_server_update_metadata_p",ITc_mc_server_update_metadata_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITc_mc_server_update_shuffle_mode_p",ITc_mc_server_update_shuffle_mode_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITc_mc_server_update_repeat_mode_p",ITc_mc_server_update_repeat_mode_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
-       {"ITs_mc_server_send_command_reply_p",ITs_mc_server_send_command_reply_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p",ITc_mc_server_set_unset_repeat_mode_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p",ITc_mc_server_set_unset_shufle_mode_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_playback_position_cmd_received_cb_p",ITc_mc_server_set_unset_playback_position_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_playlist_cmd_received_cb_p",ITc_mc_server_set_unset_playlist_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
+       {"ITc_mc_server_set_unset_custom_cmd_received_cb_p",ITc_mc_server_set_unset_custom_cmd_received_cb_p,ITs_media_controller_server_startup,ITs_media_controller_server_cleanup},
        {"ITs_mc_client_create_destroy_p",ITs_mc_client_create_destroy_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_set_unset_server_update_cb_p",ITs_mc_client_set_unset_server_update_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_set_unset_playback_update_cb_p",ITs_mc_client_set_unset_playback_update_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
@@ -78,10 +91,15 @@ testcase tc_array[] = {
        {"ITc_mc_client_get_playback_position_p",ITc_mc_client_get_playback_position_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_get_metadata_p",ITc_mc_client_get_metadata_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITs_mc_client_foreach_server_p",ITs_mc_client_foreach_server_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
-       {"ITs_mc_client_send_custom_command_p",ITs_mc_client_send_custom_command_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
-       {"ITs_mc_client_send_playback_state_command_p",ITs_mc_client_send_playback_state_command_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITs_mc_client_send_playback_action_cmd_p",ITs_mc_client_send_playback_action_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_subscribe_unsubscribe_p",ITc_mc_client_subscribe_unsubscribe_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {"ITc_mc_client_foreach_server_subscribed_p",ITc_mc_client_foreach_server_subscribed_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_playback_position_cmd_p",ITc_mc_client_send_playback_position_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_shuffle_mode_cmd_p",ITc_mc_client_send_shuffle_mode_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_repeat_mode_cmd_p",ITc_mc_client_send_repeat_mode_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_playlist_cmd_p",ITc_mc_client_send_playlist_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_send_custom_cmd_p",ITc_mc_client_send_custom_cmd_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
+       {"ITc_mc_client_set_unset_cmd_reply_received_cb_p",ITc_mc_client_set_unset_cmd_reply_received_cb_p,ITs_media_controller_client_startup,ITs_media_controller_client_cleanup},
        {NULL, NULL}
 };