smf/smfservermodule/smfserver/smfplugins/smfplaylistserviceplugin.h
changeset 25 a180113055cb
parent 14 a469c0e6e7fb
equal deleted inserted replaced
24:1cee9f1b95e0 25:a180113055cb
    23 
    23 
    24 #include <smfpluginbase.h>
    24 #include <smfpluginbase.h>
    25 #include <smfplaylist.h>
    25 #include <smfplaylist.h>
    26 #include <smfmusicprofile.h>
    26 #include <smfmusicprofile.h>
    27 #include <smftrackinfo.h>
    27 #include <smftrackinfo.h>
       
    28 #include <smfcontact.h>
       
    29 
    28 
    30 
    29 /**
    31 /**
    30  * @ingroup smf_plugin_group
    32  * @ingroup smf_plugin_group
    31  * Interface specification for playlists service. This class provides 
    33  * Interface specification for playlists service. This class provides 
    32  * basic functionality to allow applications to get playlists of a user, 
    34  * basic functionality to allow applications to get playlists of a user, 
    45 	virtual ~SmfPlaylistServicePlugin( ) {}
    47 	virtual ~SmfPlaylistServicePlugin( ) {}
    46 	
    48 	
    47 	/**
    49 	/**
    48 	 * Method to get the playlist
    50 	 * Method to get the playlist
    49 	 * @param aRequest [out] The request data to be sent to network
    51 	 * @param aRequest [out] The request data to be sent to network
    50 	 * @param aPageNum The page to be extracted
    52 	 * @param aPageNum [in] The page to be extracted
    51 	 * @param aItemsPerPage Number of items per page
    53 	 * @param aItemsPerPage [in] Number of items per page
    52 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
    54 	 * @return Appropriate value of the enum SmfPluginError.
       
    55 	 * Plugin error if any, else SmfPluginErrNone for success
    53 	 */
    56 	 */
    54 	virtual SmfPluginError playlists( SmfPluginRequestData &aRequest,
    57 	virtual SmfPluginError playlists( SmfPluginRequestData &aRequest,
    55 			const int aPageNum = SMF_FIRST_PAGE, 
    58 			const int aPageNum = SMF_FIRST_PAGE, 
    56 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
    59 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
    57 	
    60 	
    58 	/**
    61 	/**
    59 	 * Method to get the playlist of a particular user
    62 	 * Method to get the playlist of a particular user
    60 	 * @param aRequest [out] The request data to be sent to network
    63 	 * @param aRequest [out] The request data to be sent to network
    61 	 * @param aUser The user whose playlists need to be fetched
    64 	 * @param aUser [in] The user whose playlists need to be fetched
    62 	 * @param aPageNum The page to be extracted
    65 	 * @param aPageNum [in] The page to be extracted
    63 	 * @param aItemsPerPage Number of items per page
    66 	 * @param aItemsPerPage [in] Number of items per page
    64 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
    67 	 * @return Appropriate value of the enum SmfPluginError.
       
    68 	 * Plugin error if any, else SmfPluginErrNone for success
    65 	 */
    69 	 */
    66 	virtual SmfPluginError playlistsOf( SmfPluginRequestData &aRequest,
    70 	virtual SmfPluginError playlistsOf( SmfPluginRequestData &aRequest,
    67 			const SmfMusicProfile &aUser,
    71 			const SmfContact &aUser,
    68 			const int aPageNum = SMF_FIRST_PAGE, 
    72 			const int aPageNum = SMF_FIRST_PAGE, 
    69 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
    73 			const int aItemsPerPage = SMF_ITEMS_PER_PAGE ) = 0;
    70 	
    74 	
    71 	/**
    75 	/**
    72 	 * Method to add tracks to a playlist
    76 	 * Method to add tracks to a playlist
    73 	 * @param aRequest [out] The request data to be sent to network
    77 	 * @param aRequest [out] The request data to be sent to network
    74 	 * @param aPlaylist The playlist where tracks should be added
    78 	 * @param aPlaylist [in] The playlist where tracks should be added
    75 	 * @param aTracks The tracks to be added to the playlist
    79 	 * @param aTracks [in] The tracks to be added to the playlist
    76 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
    80 	 * @return Appropriate value of the enum SmfPluginError.
       
    81 	 * Plugin error if any, else SmfPluginErrNone for success
    77 	 */
    82 	 */
    78 	virtual SmfPluginError addToPlaylist( SmfPluginRequestData &aRequest,
    83 	virtual SmfPluginError addToPlaylist( SmfPluginRequestData &aRequest,
    79 			const SmfPlaylist &aPlaylist, 
    84 			const SmfPlaylist &aPlaylist, 
    80 			const QList<SmfTrackInfo> &aTracks ) = 0;
    85 			const QList<SmfTrackInfo> &aTracks ) = 0;
    81 	
    86 	
    82 	/**
    87 	/**
    83 	 * Method to post the current playing playlist
    88 	 * Method to post the current playing playlist
    84 	 * @param aRequest [out] The request data to be sent to network
    89 	 * @param aRequest [out] The request data to be sent to network
    85 	 * @param aPlaylist The current playing playlist which should be posted
    90 	 * @param aPlaylist [in] The current playing playlist which should be posted
    86 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
    91 	 * @return Appropriate value of the enum SmfPluginError.
       
    92 	 * Plugin error if any, else SmfPluginErrNone for success
    87 	 */
    93 	 */
    88 	virtual SmfPluginError postCurrentPlayingPlaylist(
    94 	virtual SmfPluginError postCurrentPlayingPlaylist(
    89 			SmfPluginRequestData &aRequest, 
    95 			SmfPluginRequestData &aRequest, 
    90 			const SmfPlaylist &aPlaylist ) = 0;
    96 			const SmfPlaylist &aPlaylist ) = 0;
    91 	
    97 	
    92 	/**
    98 	/**
    93 	 * Customised method for SmfPlaylistServicePlugin interface
    99 	 * Customised method for SmfPlaylistServicePlugin interface
    94 	 * @param aRequest [out] The request data to be sent to network
   100 	 * @param aRequest [out] The request data to be sent to network
    95 	 * @param aOperation The operation type (should be known between 
   101 	 * @param aOperation [in] The operation type (should be known between 
    96 	 * the client interface and the plugin)
   102 	 * the client interface and the plugin)
    97 	 * @param aData The data required to form the request (The type 
   103 	 * @param aData [in] The data required to form the request (The type 
    98 	 * of data should be known between client and the plugin)
   104 	 * of data should be known between client and the plugin)
    99 	 * @return SmfPluginError Plugin error if any, else SmfPluginErrNone
   105 	 * @return Appropriate value of the enum SmfPluginError.
       
   106 	 * Plugin error if any, else SmfPluginErrNone for success
   100 	 */
   107 	 */
   101 	virtual SmfPluginError customRequest( SmfPluginRequestData &aRequest, 
   108 	virtual SmfPluginError customRequest( SmfPluginRequestData &aRequest, 
   102 			const int &aOperation, QByteArray *aData ) = 0;
   109 			const int &aOperation, QByteArray *aData ) = 0;
   103 	
   110 	
   104 	};
   111 	};