Revision: 201020 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:48:15 +0300
branchRCL_3
changeset 16 1dbd6ed29a76
parent 15 913622afaa4b
child 18 64f6657d3cc1
Revision: 201020 Kit: 2010123
videoutils_plat/videoplayer_constants_api/inc/vcxmyvideosdefs.h
--- a/videoutils_plat/videoplayer_constants_api/inc/vcxmyvideosdefs.h	Tue May 25 13:47:54 2010 +0300
+++ b/videoutils_plat/videoplayer_constants_api/inc/vcxmyvideosdefs.h	Wed Jun 09 10:48:15 2010 +0300
@@ -26,12 +26,17 @@
 #include <mdeconstants.h>
 #include <mpxcollectionpath.h>
 
+#define VIDEO_COLLECTION_PLUGIN_TB92
+
+//These are written to TMPXItemId::iId2
+const TInt KVcxMvcMediaTypeVideo    = 0;
+const TInt KVcxMvcMediaTypeCategory = 1;
+const TInt KVcxMvcMediaTypeAlbum    = 2;
+
 /**
 * My Videos Collection category IDs.
-* MPX ID has this as iId1 member and 1 as iId2.
-* These are same as indexes in path.
+* TMPXItemId has these as iId1 member and KVcxMvcMediaTypeCategory as iId2.
 */
-
 const TInt KVcxMvcCategoryIdAll          = 0;
 const TInt KVcxMvcCategoryIdDownloads    = 1;
 const TInt KVcxMvcCategoryIdTvRecordings = 2;
@@ -62,6 +67,12 @@
 const TInt KVcxMvcMaxUrlLength = 1024;
 
 /**
+* Maximum length of KMPXMediaGeneralTitle attribute. Limiting factor
+* comes from MDS.
+*/
+const TInt KVcxMvcMaxTitleLength = 255;
+
+/**
 *  Content ID (UID) identifying My Videos category of content provided
 *  in the media object and associated attributes. 
 */
@@ -173,6 +184,19 @@
     */
     EVcxMyVideosVideoListOrderChanged
     };
+
+/**
+* These values are written to video list (received by HandleOpen)
+* KVcxMediaMyVideosInt32Value attribute to give extra information about the list status.
+*/
+enum TVcxMyVideosVideoListInfo
+    {    
+    /**
+    * Indicates that the list is complete and no more items are appended
+    * to the list by KVcxMessageMyVideosItemsAppended event.
+    */ 
+    EVcxMyVideosVideoListComplete
+    };
     
 //
 // These are the general attributes used in My Videos media object.
@@ -194,6 +218,7 @@
 /**
 *  2. (BRIEF)
 *  Descriptor, contains video name.
+*  Maximum length is KVcxMvcMaxTitleLength.
 *  Saved to MDS.
 */
 //KMPXMediaGeneralTitle
@@ -477,15 +502,22 @@
 
 /**
  * 35.
+ * TUint32, general parameter, the usage depends on context.
+ * Not saved to MDS
+ */
+const TMPXAttributeData KVcxMediaMyVideosUint32Value = {KVcxMediaIdMyVideos, 1 << 23};
+
+/**
+ * 36.
  * TUint32, transaction ID, client sets this field when making asynchronous request.
  * Collection sets the same ID to response messages. Client can use this to pair
  * requests and responses.
  * Not saved to MDS
  */
-const TMPXAttributeData KVcxMediaMyVideosTransactionId = {KVcxMediaIdMyVideos, 1 << 23};
+const TMPXAttributeData KVcxMediaMyVideosTransactionId = {KVcxMediaIdMyVideos, 1 << 24};
 
 /**
- * 36.
+ * 37.
  * TBool, video list is partial. This is set to Category level video list to inform
  * client that video cache is not complete yet.
  */
@@ -514,6 +546,10 @@
 const TInt KVcxCommandMyVideosMove                       = 6; //async
 const TInt KVcxCommandMyVideosCopy                       = 7; //async
 const TInt KVcxCommandMyVideosDelete                     = 8; //async
+const TInt KVcxCommandMyVideosAddToAlbum                 = 9; //async
+const TInt KVcxCommandMyVideosRemoveFromAlbum            = 10; //async
+const TInt KVcxCommandMyVideosAddAlbum                   = 11; //async & sync
+const TInt KVcxCommandMyVideosRemoveAlbums               = 12; //async
 
 /** This command cancels the move or copy operation only if it
  *  is allready being processed by the collection plugin. If the
@@ -521,7 +557,7 @@
  *  If Move or Copy operations were not in progress the command
  *  leaves with KErrNotFound.
  */
-const TInt KVcxCommandMyVideosCancelMoveOrCopy = 9; //sync
+const TInt KVcxCommandMyVideosCancelMoveOrCopy = 13; //sync
 
 /** This command cancels the delete operation only if it
  *  is allready being processed by the collection plugin. If the
@@ -529,9 +565,9 @@
  *  If delete operation was not in progress the command
  *  leaves with KErrNotFound.
  */
-const TInt KVcxCommandMyVideosCancelDelete = 10; //sync
+const TInt KVcxCommandMyVideosCancelDelete = 14; //sync
 
-const TInt KVcxMessageMyVideosGetMediasByMpxIdResp = 11;
+const TInt KVcxMessageMyVideosGetMediasByMpxIdResp = 15;
 
 /**
 * Collection sends this message when new items are added
@@ -544,7 +580,7 @@
 * are broadcasted to all clients. So they might appear even when client hasn't
 * done OpenL.
 */
-const TInt KVcxMessageMyVideosItemsAppended = 12; //event
+const TInt KVcxMessageMyVideosItemsAppended = 16; //event
 
 /**
 * Collection sends this message when media list fetching has ended
@@ -555,32 +591,32 @@
 * in the list it had received earlier (unless client itself initiated the new fetching
 * by calling OpenL().
 */
-const TInt KVcxMessageMyVideosListComplete = 13; //event
+const TInt KVcxMessageMyVideosListComplete = 17; //event
 
 /* Collection sends this message when it starts processing
  * Move Or Copy command. When this event is received,
  * KVcxCommandMyVideosCancelMoveOrCopy can be sent. 
  */
-const TInt KVcxMessageMyVideosMoveOrCopyStarted = 14; //event
+const TInt KVcxMessageMyVideosMoveOrCopyStarted = 18; //event
 
 /* Collection sends this message when it starts processing
  * KVcxCommandMyVideosDelete command. After this event is received,
  * KVcxCommandMyVideosCancelDelete can be sent. 
  */
-const TInt KVcxMessageMyVideosDeleteStarted = 15; //event
+const TInt KVcxMessageMyVideosDeleteStarted = 19; //event
 
 /* End events for Move/Copy/Delete operations. The response contains
  * MDS ID and error codes for each item.
  */
-const TInt KVcxMessageMyVideosMoveResp   = 16; //event 
-const TInt KVcxMessageMyVideosCopyResp   = 17; //event
-const TInt KVcxMessageMyVideosDeleteResp = 18; //event
+const TInt KVcxMessageMyVideosMoveResp   = 20; //event 
+const TInt KVcxMessageMyVideosCopyResp   = 21; //event
+const TInt KVcxMessageMyVideosDeleteResp = 22; //event
 
 /**
 * Indicates that media array variable contains other messages.
 * This message is only sent as the highest level item in the message tree.
 */
-const TInt KVcxMessageMyVideosMessageArray = 19;
+const TInt KVcxMessageMyVideosMessageArray = 23;
 
 /*
  OpenL() (video list) MSC
@@ -590,9 +626,9 @@
  has the video list already fetched, then the HandleOpenL will contain all videos and KVcxMessageMyVideosListComplete
  is received immedetially.
  
- KVcxMessageMyVideosItemsAppended and KVcxMessageMyVideosListComplete events concern only video lists.
- Category level always returns all categories at HandleOpenL.
- 
+ The list complete status (EVcxMyVideosVideoListComplete) is also written to aEntries KVcxMediaMyVideosInt32Value
+ attribute when the list is complete. 
+  
                  .------.                                                                 .-------------------------.
                  |CLIENT|                                                                 |MPX My Videos Collection |
                  '------'                                                                 '-------------------------'
@@ -640,116 +676,6 @@
                     |                                                                                  |
 
 
- DOWNLOAD START MSC
- ------------------
- 
- In future download request parameters can be made to contain media array of download parameters,
- allowing multiple downloads. Currently it is not supported.
- 
-                 .------.                                                                 .-------------------------.
-                 |CLIENT|                                                                 |MPX My Videos Collection |
-                 '------'                                                                 '-------------------------'
-                    |                                                                                  |
-                    |                                                                                  |
-iCollectionUtility->Collection().CommandL( *downloadStartCommand )                                     |
-                                                                                                       |
-downloadStartCommand (CMPXCommand type) contains:                                                      |
-    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
-    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosStartDownload                                  |
-    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection                                      |
-    KMPXCommandColAddMedia         = Download request parameters (CMPXMedia type)                      |
-        Download request parameters CMPXMedia type) contains:                                          |
-            KVcxMediaMyVideosIapId     = IAP ID                                                        |
-            KVcxMediaMyVideosUsername  = User name                                                     |
-            KVcxMediaMyVideosPassword  = Password                                                      |
-            KMPXMediaGeneralFlags      = EVcxMyVideosServiceHasReadOnlyIap|EVcxMyVideosSilent          |
-            KVcxMediaMyVideosRemoteUrl = Remote URL                                                    |
-            KMPXMediaGeneralTitle      = Video title                                                   |
-                    |--------------------------------------------------------------------------------->|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |  HandleCommandComplete(downloadStartCommand, FAIL/SUCCESS)                       |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    |  HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                   |
-                    |                                                                                  |
-                    |  aMessage contains:                                                              |
-                    |      KMPXMessageGeneralId       = KMPXMessageIdItemChanged                       |
-                    |      KMPXMessageChangeEventType = EMPXItemInserted                               |
-                    |      KMPXMessageCollectionId    = KVcxUidMyVideosMpxCollection                   |
-                    |      KMPXMessageMediaGeneralId  = MPX ID                                         |
-                    |                                                                                  |
-                    |  The corresponding media object contains:                                        |
-                    |      KMPXMediaGeneralId         = MPX ID                                         |
-                    |      KMPXMediaGeneralUri        = Local file path                                |
-                    |      KVcxMediaMyVideosRemoteUrl = Remote URL                                     |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
-                    |                                                                                  |
-                    |  aMessage contains:                                                              |
-                    |      KMPXMessageGeneralId       = KMPXMessageIdItemChanged                       |
-                    |      KMPXMessageChangeEventType = EMPXItemModified                               |
-                    |      KMPXMessageCollectionId    = KVcxUidMyVideosMpxCollection                   |
-                    |     KMPXMessageMediaGeneralId   = MPX ID                                         |
-                    |                                                                                  |
-                    | The corresponding media object contains:                                         |
-                    |      KMPXMediaGeneralId             = MPX ID                                 |
-                    |      KVcxMediaMyVideosDownloadState = Download state                             |
-                    |      KVcxMediaMyVideosDownloadId    = Download ID                                |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-
-
-
-DOWNLOAD CANCEL MSC
--------------------
- 
-                 .------.                                                                 .-------------------------.
-                 |CLIENT|                                                                 |MPX My Videos Collection |
-                 '------'                                                                 '-------------------------'
-                    |                                                                                  |
-                    |                                                                                  |
-iCollectionUtility->Collection().CommandL( *cancelDownloadCommand )                                    |
-                                                                                                       |
-cancelDownloadCommand (CMPXCommand type) contains:                                                     |
-    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
-    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosCancelDownload                                 |
-    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection                                      |
-    KMPXCommandColAddMedia         = Cancel download request parameters (CMPXMedia type)               |
-        Cancel download request parameters (CMPXMedia type) contains:                                  |
-        KMPXMediaGeneralId          = MPX ID                                                           |
-        KVcxMediaMyVideosDownloadId = download ID                                                      |
-        KMPXMediaGeneralUri         = file path                                                        |                                        
-                    |--------------------------------------------------------------------------------->|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |   HandleCommandComplete(cancelDownloadCommand, TInt aError )                     |
-                    |      aError is != KErrNone if either dl object (in Download Manager), file or    |
-                    |      MPX object was left to system.                                              |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    |   HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                  |
-                    |                                                                                  |
-                    |   aMessage contains:                                                             |
-                    |       KMPXMessageGeneralId       = KMPXMessageIdItemChanged                      |
-                    |       KMPXMessageChangeEventType = EMPXItemDeleted                               |
-                    |       KMPXMessageCollectionId    = KVcxUidMyVideosMpxCollection                  |
-                    |       KMPXMessageMediaGeneralId  = MPX ID                                        |
-                    |                                                                                  |
-                    |       The corresponding media object is gone                                     |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-
-
 GET MEDIA FULL DETAILS BY MPX ID MSC
 ------------------------------------
 
@@ -785,7 +711,8 @@
 ------------------------
 
  This command loads requested MDS items to MPX My Videos collection cache and returns the requested
- items to the client ( subset of the cache ).
+ items to the client ( subset of the cache ). Notice that if this command is given while OpenL is
+ being processed, then OpenL is interrupted and started from scratch when this command finishes.
  
                  .------.                                                                 .-------------------------.
                  |CLIENT|                                                                 |MPX My Videos Collection |
@@ -819,83 +746,6 @@
                     |<---------------------------------------------------------------------------------|
                     |                                                                                  |                 
 
-DOWNLOAD PAUSE MSC
--------------------
- 
-                 .------.                                                                 .-------------------------.
-                 |CLIENT|                                                                 |MPX My Videos Collection |
-                 '------'                                                                 '-------------------------'
-                    |                                                                                  |
-                    |                                                                                  |
-iCollectionUtility->Collection().CommandL( *pauseDownloadCommand )                                     |
-                                                                                                       |
-cancelDownloadCommand (CMPXCommand type) contains:                                                     |
-    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
-    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosPauseDownload                                  |
-    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection                                      |
-    KVcxMediaMyVideosDownloadId    = download id                                                       |
-                    |--------------------------------------------------------------------------------->|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |   HandleCommandComplete(pauseDownloadCommand, FAIL/SUCCESS)                      |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    |   HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                  |
-                    |                                                                                  |
-                    |   aMessage contains:                                                             |
-                    |       KMPXMessageGeneralId       = KMPXMessageIdItemChanged                      |
-                    |       KMPXMessageChangeEventType = EMPXItemModified                              |
-                    |       KMPXMessageCollectionId    = KVcxUidMyVideosMpxCollection                  |
-                    |       KMPXMessageMediaGeneralId  = MPX ID                                        |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-
-DOWNLOAD RESUME MSC
--------------------
- 
-                 .------.                                                                 .-------------------------.
-                 |CLIENT|                                                                 |MPX My Videos Collection |
-                 '------'                                                                 '-------------------------'
-                    |                                                                                  |
-                    |                                                                                  |
-iCollectionUtility->Collection().CommandL( *downloadStartCommand )                                     |
-                                                                                                       |
-downloadStartCommand (CMPXCommand type) contains:                                                      |
-    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
-    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosStartDownload                                  |
-    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection                                      |
-    KMPXCommandColAddMedia         = Download request parameters (CMPXMedia type)                      |
-        Download request parameters (CMPXMedia type) contains:                                         |
-            KVcxMediaMyVideosIapId      = IAP ID                                                       |
-            KVcxMediaMyVideosUsername   = User name                                                    |
-            KVcxMediaMyVideosPassword   = Password                                                     |
-            KMPXMediaGeneralFlags       = EVcxMyVideosServiceHasReadOnlyIap|EVcxMyVideosSilent         |
-            KVcxMediaMyVideosDownloadId = Download ID                                                  |
-                    |--------------------------------------------------------------------------------->|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |  HandleCommandComplete(downloadStartCommand, FAIL/SUCCESS)                       |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
-                    |                                                                                  |
-                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
-                    |                                                                                  |
-                    |  aMessage contains:                                                              |
-                    |      KMPXMessageGeneralId       = KMPXMessageIdItemChanged                       |
-                    |      KMPXMessageChangeEventType = EMPXItemModified                               |
-                    |      KMPXMessageCollectionId    = KVcxUidMyVideosMpxCollection                   |
-                    |      KMPXMessageMediaGeneralId  = MPX ID                                         |
-                    |                                                                                  |
-                    | The corresponding media object contains:                                         |
-                    |      KMPXMediaGeneralId             = MPX ID                                     |
-                    |      KVcxMediaMyVideosDownloadState = Download state                             |
-                    |      KVcxMediaMyVideosDownloadId    = Download ID                                |
-                    |<---------------------------------------------------------------------------------|
-                    |                                                                                  |
-                    |                                                                                  |
 
 VIDEO ADD MSC
 -------------
@@ -1024,7 +874,10 @@
                     |          KVcxMediaMyVideosInt32Value = result (system wide error code)           |
                     |<---------------------------------------------------------------------------------|
                     |                                                                                  |
-                    |  HandleCommandComplete(videoMoveCommand, FAIL/SUCCESS)                           |
+                    |  HandleCommandComplete(videoMoveCommand, KErrNone)                               |
+                    |      videoDeleteCommand KVcxMediaMyVideosInt32Value contains KErrNone if everything went
+                    |      OK. If value is != KErrNone, then something went wrong and command might    |
+                    |      have ended prematurely                                                      |
                     |<---------------------------------------------------------------------------------|
                     
 
@@ -1076,7 +929,10 @@
                     |          KVcxMediaMyVideosInt32Value = result (system wide error code)           |
                     |<---------------------------------------------------------------------------------|
                     |                                                                                  |
-                    |  HandleCommandComplete(videoDeleteCommand, FAIL/SUCCESS)                         |
+                    |  HandleCommandComplete(videoDeleteCommand, KErrNone)                             |
+                    |      videoDeleteCommand KVcxMediaMyVideosInt32Value contains KErrNone if everything went
+                    |      OK. If value is != KErrNone, then something went wrong and command was ended|
+                    |      prematurely.                                                                |
                     |<---------------------------------------------------------------------------------|
                     
 
@@ -1084,6 +940,215 @@
 -----------------------
 
 
+
+ADD VIDEOS TO ALBUM MSC
+-----------------------
+Notice that adding items to album does not add videos from collection. Ie item added events
+will not arrive for this operation. Instead the modify event is sent for the album item which is
+affected.
+                 .------.                                                                 .-------------------------.
+                 |CLIENT|                                                                 |MPX My Videos Collection |
+                 '------'                                                                 '-------------------------'
+                    |                                                                                  |
+                    |                                                                                  |
+iCollectionUtility->Collection().CommandL( *cmd )                                                      |
+                                                                                                       |
+cmd (CMPXCommand type) contains:                                                                       |
+    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
+    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosAddToAlbum                                     |
+    KMPXCommandGeneralCollectionId = 0x20016B97                                                        |
+    KMPXCommandGeneralDoSync       = EFalse                                                            |
+    KVcxMediaMyVideosTransactionId = TR ID                                                             |
+    KVcxMediaMyVideosUint32Value   = Album MDS ID (album where to add)                                 |
+    KMPXMediaArrayContents         = Media array (CMPXMediaArray)                                      |
+        Media array contains array of CMPXMedia objects which contain:                                 |
+           KMPXMediaGeneralId = video MPX ID (video to add)                                            |           
+                    |--------------------------------------------------------------------------------->|
+                    |                                                                                  |
+                    |  HandleCommandComplete(cmd, KErrNone)                                            |
+                    |      cmd is the same as was given in .CommandL() call.                           |
+                    |      cmd contains in addition to parameters set earlier:                         |
+                    |         1. Media array has error codes set to each array item:                   |
+                    |            KVcxMediaMyVideosInt32Value = KErrNone if successful,                 |
+                    |             KErrGeneral or KErrAlreadyExists otherwise.                          |
+                    |         2. cmd KVcxMediaMyVideosInt32Value contains KErrNone if everything went  |
+                    |            OK. If value is != KErrNone, then something went wrong and individual |
+                    |            error codes for array items might not contain values.                 |
+                    |<---------------------------------------------------------------------------------|
+                    |                                                                                  |
+                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
+                    |                                                                                  |
+                    |  aMessage contains:                                                              |
+                    |      KMPXMessageGeneralId        = KMPXMessageIdItemChanged                      |
+                    |      KMPXMessageChangeEventType  = EMPXItemModified                              |
+                    |      KVcxMediaMyVideosInt32Value = EVcxMyVideosVideoListOrderChanged             |
+                    |      KMPXMessageCollectionId     = KVcxUidMyVideosMpxCollection                  |
+                    |      KMPXMessageMediaGeneralId   = MPX ID (ID of the album which had videos added)
+                    |<---------------------------------------------------------------------------------|
+
+
+REMOVE VIDEOS FROM ALBUM MSC
+----------------------------
+
+Notice that removing items from album does not remove videos from collection. Ie item deleted events
+will not arrive for this operation. Instead the modify event is sent for the album item which is
+affected.
+                 .------.                                                                 .-------------------------.
+                 |CLIENT|                                                                 |MPX My Videos Collection |
+                 '------'                                                                 '-------------------------'
+                    |                                                                                  |
+                    |                                                                                  |
+iCollectionUtility->Collection().CommandL( *cmd )                                                      |
+                                                                                                       |
+cmd (CMPXCommand type) contains:                                                                       |
+    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
+    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosRemoveFromAlbum                                |
+    KMPXCommandGeneralCollectionId = 0x20016B97                                                        |
+    KMPXCommandGeneralDoSync       = EFalse                                                            |
+    KVcxMediaMyVideosTransactionId = TR ID                                                             |
+    KVcxMediaMyVideosUint32Value   = Album MDS ID (iId1 member of TMPXItemId, album where from to remove) 
+    KMPXMediaArrayContents         = Media array (CMPXMediaArray)                                      |
+        Media array contains array of CMPXMedia objects which contain:                                 |
+           KMPXMediaGeneralId = video MPX ID (video to remove)                                         |           
+                    |--------------------------------------------------------------------------------->|
+                    |                                                                                  |
+                    |  HandleCommandComplete(cmd, KErrNone)                                            |
+                    |      cmd is the same as was given in .CommandL() call.                           |
+                    |      cmd contains in addition to parameters set earlier:                         |
+                    |         1. Media array has error codes set to each array item:                   |
+                    |            KVcxMediaMyVideosInt32Value = KErrNone if successful, KErrGeneral otherwise.
+                    |         2. cmd KVcxMediaMyVideosInt32Value contains KErrNone if everything went  |
+                    |            OK. If value is != KErrNone, then something went wrong and individual |
+                    |            error codes for array items might not contain values.                 |
+                    |<---------------------------------------------------------------------------------|
+                    |                                                                                  |
+                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
+                    |                                                                                  |
+                    |  aMessage contains:                                                              |
+                    |      KMPXMessageGeneralId        = KMPXMessageIdItemChanged                      |
+                    |      KMPXMessageChangeEventType  = EMPXItemModified                              |
+                    |      KVcxMediaMyVideosInt32Value = EVcxMyVideosVideoListOrderChanged             |
+                    |      KMPXMessageCollectionId     = KVcxUidMyVideosMpxCollection                  |
+                    |      KMPXMessageMediaGeneralId   = MPX ID (ID of the album which had videos removed)
+                    |<---------------------------------------------------------------------------------|
+
+ADD ALBUM MSC
+-------------
+
+Asynchronous version:
+
+                 .------.                                                                 .-------------------------.
+                 |CLIENT|                                                                 |MPX My Videos Collection |
+                 '------'                                                                 '-------------------------'
+                    |                                                                                  |
+                    |                                                                                  |
+iCollectionUtility->Collection().CommandL( *cmd )                                                      |
+                                                                                                       |
+cmd (CMPXCommand type) contains:                                                                       |
+    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
+    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosAddAlbum                                       |
+    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection (0x20016B97)                         |
+    KMPXCommandGeneralDoSync       = EFalse                                                            |
+    KVcxMediaMyVideosTransactionId = TR ID                                                             |
+    KMPXMediaGeneralTitle          = Album title text                                                  |
+                    |--------------------------------------------------------------------------------->|
+                    |                                                                                  |
+                    |  HandleCommandComplete(cmd, KErrNone)                                            |
+                    |      cmd is the same as was given in .CommandL() call.                           |
+                    |      cmd contains in addition to parameters set earlier:                         |
+                    |         1. cmd KVcxMediaMyVideosInt32Value contains KErrNone if everything went  |
+                    |            OK. If value is != KErrNone, then something went wrong.               |
+                    |         2. KMPXMediaGeneralId contains the MPX ID of the new album.              |
+                    |<---------------------------------------------------------------------------------|
+                    |                                                                                  |
+                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
+                    |                                                                                  |
+                    |  aMessage contains:                                                              |
+                    |      KMPXMessageGeneralId        = KMPXMessageIdItemChanged                      |
+                    |      KMPXMessageChangeEventType  = EMPXItemInserted                              |
+                    |      KVcxMediaMyVideosInt32Value = EVcxMyVideosListNoInfo                        |
+                    |      KMPXMessageCollectionId     = KVcxUidMyVideosMpxCollection                  |
+                    |      KMPXMessageMediaGeneralId   = MPX ID (ID of the new album)                  |
+                    |      KMPXCommandColAddMedia      = MPX media of the new album (CMPXMedia)        |
+                    |<---------------------------------------------------------------------------------|
+
+Synchronous version:
+
+CommandL leaves if error occurs.
+
+                 .------.                                                                 .-------------------------.
+                 |CLIENT|                                                                 |MPX My Videos Collection |
+                 '------'                                                                 '-------------------------'
+                    |                                                                                  |
+                    |                                                                                  |
+iCollectionUtility->Collection().CommandL( *cmd )                                                      |
+                                                                                                       |
+cmd (CMPXCommand type) contains:                                                                       |
+    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
+    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosAddAlbum                                       |
+    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection (0x20016B97)                         |
+    KMPXCommandGeneralDoSync       = ETrue                                                             |
+    KVcxMediaMyVideosTransactionId = TR ID                                                             |
+    KMPXMediaGeneralTitle          = Album title text                                                  |
+                                                                                                       |
+    After the call KMPXMediaGeneralId attribute contains the MPX ID of the new album.                  |
+                    |--------------------------------------------------------------------------------->.
+                    |<---------------------------------------------------------------------------------'
+                    |                                                                                  |
+                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
+                    |                                                                                  |
+                    |  aMessage contains:                                                              |
+                    |      KMPXMessageGeneralId        = KMPXMessageIdItemChanged                      |
+                    |      KMPXMessageChangeEventType  = EMPXItemInserted                              |
+                    |      KVcxMediaMyVideosInt32Value = EVcxMyVideosListNoInfo                        |
+                    |      KMPXMessageCollectionId     = KVcxUidMyVideosMpxCollection                  |
+                    |      KMPXMessageMediaGeneralId   = MPX ID (ID of the new album)                  |
+                    |      KMPXCommandColAddMedia      = MPX media of the new album (CMPXMedia)        |
+                    |<---------------------------------------------------------------------------------|
+
+
+
+REMOVE ALBUMS MSC
+-----------------
+
+                 .------.                                                                 .-------------------------.
+                 |CLIENT|                                                                 |MPX My Videos Collection |
+                 '------'                                                                 '-------------------------'
+                    |                                                                                  |
+                    |                                                                                  |
+iCollectionUtility->Collection().CommandL( *cmd )                                                      |
+                                                                                                       |
+cmd (CMPXCommand type) contains:                                                                       |
+    KMPXCommandGeneralId           = KVcxCommandIdMyVideos                                             |
+    KVcxMediaMyVideosCommandId     = KVcxCommandMyVideosRemoveAlbums                                   |
+    KMPXCommandGeneralCollectionId = KVcxUidMyVideosMpxCollection (0x20016B97)                         |
+    KMPXCommandGeneralDoSync       = EFalse (only async supported)                                     |
+    KVcxMediaMyVideosTransactionId = TR ID                                                             |
+    KMPXMediaArrayContents         = Media array (CMPXMediaArray)                                      |
+        Media array contains array of CMPXMedia objects which contain:                                 |
+           KMPXMediaGeneralId = album MPX ID (album to remove)                                         |           
+                    |--------------------------------------------------------------------------------->|
+                    |                                                                                  |
+                    |  HandleCommandComplete(cmd, KErrNone)                                            |
+                    |      cmd is the same as was given in .CommandL() call.                           |
+                    |      cmd contains in addition to parameters set earlier:                         |
+                    |         1. Media array has error codes set to each array item:                   |
+                    |            KVcxMediaMyVideosInt32Value = KErrNone if successful, KErrGeneral otherwise.
+                    |         2. cmd KVcxMediaMyVideosInt32Value contains KErrNone if everything went  |
+                    |            OK. If value is != KErrNone, then something went wrong and individual |
+                    |            error codes for array items might not contain values.                 |
+                    |<---------------------------------------------------------------------------------|
+                    |                                                                                  |
+                    | HandleCollectionMessage( CMPXMessage* aMessage, TInt aError )                    |
+                    |                                                                                  |
+                    |  aMessage contains:                                                              |
+                    |      KMPXMessageGeneralId        = KMPXMessageIdItemChanged                      |
+                    |      KMPXMessageChangeEventType  = EMPXItemDeleted                               |
+                    |      KVcxMediaMyVideosInt32Value = EVcxMyVideosListNoInfo                        |
+                    |      KMPXMessageCollectionId     = KVcxUidMyVideosMpxCollection                  |
+                    |      KMPXMessageMediaGeneralId   = MPX ID (ID of the album which was removed)    |
+                    |<---------------------------------------------------------------------------------|
+
 */
 
 #endif // VCXMYVIDEOSDEFS_H