mpxmusicplayer/activeidle/aiplayerplugin/inc/aiplayerplugincontentmodel.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:45:05 +0200
changeset 0 ff3acec5bc43
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  SDK, AI Player Plugin Content Model API
*
*/


#ifndef AIPLPLCONTENTMODEL_H
#define AIPLPLCONTENTMODEL_H

#include <aicontentmodel.h>
#include "aiplayerpluginuids.hrh"

// Plug-in Implementation UID.
const TInt KImplUidMusicPlayerPlugin = AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_PLAYERPLUGIN;
const TUid KUidMusicPlayerPlugin = { KImplUidMusicPlayerPlugin };


// ================================= CONTENT ===================================

/**
 * Content Ids
 */
enum TAiPlplContentIds
    {
     EAiPlplContentArtistCaption
    ,EAiPlplContentTitleCaption
    ,EAiPlplContentDurationCaption
    ,EAiPlplContentVolume
    ,EAiPlplContentStatus
    ,EAiPlplContentElapsedTime
    };

/**
 * Content that the plugin will publish
 */
const TAiContentItem KAiPlplContent[] =
    {
     { EAiPlplContentArtistCaption,   L"Artist",    KAiContentTypeText }
    ,{ EAiPlplContentTitleCaption,    L"Title",     KAiContentTypeText }
    ,{ EAiPlplContentDurationCaption, L"Duration",  KAiContentTypeText }
     //Current volume level. Content needs to be re-published every time when volume is changed
     //Always published as resource see KAiPlplResources \ VolumeLevel
    ,{ EAiPlplContentVolume,   		  L"Volume",    KAiContentTypeText }
     //Current player status. Content needs to be re-published every time when player status is changed.
     //When player is stoped, the plug-in MUST publish empty item
     //Always published as resource see KAiPlplResources \ Status
    ,{ EAiPlplContentStatus,          L"Status",    KAiContentTypeBitmap }
    ,{ EAiPlplContentElapsedTime,     L"ElapsedTime",KAiContentTypeText }
    };


// ================================ RESOURCES ==================================


/**
 * Resource Ids
 */
enum TAiPlplPluginResourceIds
    {
     EAiPlplResourceVol0
    ,EAiPlplResourceVol1
    ,EAiPlplResourceVol2
    ,EAiPlplResourceVol3
    ,EAiPlplResourceVol4
    ,EAiPlplResourceVol5
    ,EAiPlplResourceVol6
    ,EAiPlplResourceVol7
    ,EAiPlplResourceVol8
    ,EAiPlplResourceVol9
    ,EAiPlplResourceVol10
    ,EAiPlplResourcePlayIcon
    ,EAiPlplResourcePauseIcon
    };

/**
 * Resources that the plugin will publish
 */
const TAiContentItem KAiPlplResources[] =
    {
    //UI resources that represents volume levels
    { EAiPlplResourceVol0,     L"Vol0",       KAiContentTypeText }
   ,{ EAiPlplResourceVol1,     L"Vol1",       KAiContentTypeText }
   ,{ EAiPlplResourceVol2,     L"Vol2",       KAiContentTypeText }
   ,{ EAiPlplResourceVol3,     L"Vol3",       KAiContentTypeText }
   ,{ EAiPlplResourceVol4,     L"Vol4",       KAiContentTypeText }
   ,{ EAiPlplResourceVol5,     L"Vol5",       KAiContentTypeText }
   ,{ EAiPlplResourceVol6,     L"Vol6",       KAiContentTypeText }
   ,{ EAiPlplResourceVol7,     L"Vol7",       KAiContentTypeText }
   ,{ EAiPlplResourceVol8,     L"Vol8",       KAiContentTypeText }
   ,{ EAiPlplResourceVol9,     L"Vol9",       KAiContentTypeText }
   ,{ EAiPlplResourceVol10,   L"Vol10",       KAiContentTypeText }
    
    //UI resources that represents status
   ,{ EAiPlplResourcePlayIcon,  L"PlayIcon",  KAiContentTypeBitmap }
   ,{ EAiPlplResourcePauseIcon, L"PauseIcon", KAiContentTypeBitmap }
    };

// ============================ SERVICES (Events) ==============================

/**
 * Event Ids.
 */
enum TAiPlplEventIds
    {
     EAiPlplEventVolInc
    ,EAiPlplEventVolDec
    ,EAiPlplEventLaunchLibrary
    ,EAiPlplEventVolSet
    ,EAiPlplEventVolMute
    ,EAiPlplEventVolRestore
    };

/**
 * Services that the plugin can perform
 */
const TAiContentItem KAiPlplEvents[] =
    {
     { EAiPlplEventVolInc,         L"VolInc", "" }
    ,{ EAiPlplEventVolDec,         L"VolDec", "" }
    ,{ EAiPlplEventLaunchLibrary,  L"Library", "" }
    ,{ EAiPlplEventVolSet,         L"VolSet", "" }
    ,{ EAiPlplEventVolMute,        L"Mute", "" }
    ,{ EAiPlplEventVolRestore,     L"Restore", "" }
    };

#endif // AIPLPLCONTENTMODEL_H