homescreensrv_plat/ai_plugin_management_api/inc/aiscutcontentmodel.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:54:17 +0200
changeset 0 79c6a41cd166
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2005-2006 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:  Content model for shortcut plug-in.
*
*/


#ifndef AISCUTCONTENTMODEL_H
#define AISCUTCONTENTMODEL_H

#include <aicontentmodel.h>

#include <platform/mw/aiscutuids.hrh>

// AI Shortcut Plug-in ECOM implementation UID.
const TInt KImplUidScutPlugin = AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_SCUTPLUGIN;
const TUid KUidScutPlugin = { KImplUidScutPlugin };

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

/**
 * Content Ids.
 */
enum TAiScutContentIds
{
    EAiScutContentShortcutIcon,
    EAiScutContentShortcutCaption,
    EAiScutContentShortcutShortCaption,
    EAiScutContentShortcutMskCaption,
    EAiScutContentShortcutSkCaption,
    EAiScutContentShortcutSkIcon,
    EAiScutContentShortcutToolbarCaption,
    EAiScutContentShortcutToolbarIcon,
    EAiScutContentPopupTextCaptionLine,
    EAiScutContentPopupTextFirstLine,
    EAiScutContentPopupTextSecondLine,
    EAiScutContentPopupTextThirdLine
};

/**
 * Content that the plug-in will publish.
 */
const TAiContentItem KAiScutContent[] =
{
    // Shortcut icon as CFbsBitmap.
    { EAiScutContentShortcutIcon,         L"ShortcutIcon",         KAiContentTypeBitmap }
    ,
    // Shortcut caption as plain text (used for long application titles).
    { EAiScutContentShortcutCaption,      L"ShortcutCaption",      "text/plain" }
    ,
    // Shortcut short caption as plain text (used for short application titles in softkeys).
    { EAiScutContentShortcutShortCaption, L"ShortcutShortCaption", "text/plain" }
    ,
    // Shortcut msk caption as plain text (used for short application titles in MSK).
    { EAiScutContentShortcutMskCaption,   L"ShortcutMskCaption",   "text/plain" }
       ,
    // Shortcut sk caption as plain text (used for short application titles in SK).
    { EAiScutContentShortcutSkCaption,   L"ShortcutSkCaption",   "text/plain" }
   ,
    // Shortcut sk icon as bitmap (used for application icons in SK).
    { EAiScutContentShortcutSkIcon,   L"ShortcutSkIcon",   KAiContentTypeBitmap }
   ,
    // Shortcut sk caption as plain text (used for short application titles in SK).
    { EAiScutContentShortcutToolbarCaption,   L"ShortcutToolbarCaption",   "text/plain" }
   ,
     // Shortcut toolbar icon as bitmap (used for application icons in toolbar).
    { EAiScutContentShortcutToolbarIcon,   L"ShortcutToolbarIcon",   KAiContentTypeBitmap }
    ,
    // Caption line of Popup as plain text.
    { EAiScutContentPopupTextCaptionLine,  L"ShortcutPopupCaptionLine", "text/plain" }
    ,
    // 1st actual line of Popup as plain text.
    { EAiScutContentPopupTextFirstLine,  L"ShortcutPopup1stLine", "text/plain" }
    ,
    // 2nd actual line of Popupn as plain text.
    { EAiScutContentPopupTextSecondLine, L"ShortcutPopup2ndLine", "text/plain" }
    ,
    // 3rd actual line of Popup as plain text.
    { EAiScutContentPopupTextThirdLine,  L"ShortcutPopup3rdLine", "text/plain" }
};

const TInt KAiScutContentCount = sizeof( KAiScutContent ) / 
                                            sizeof( KAiScutContent[0] );


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

/**
 * Resource Ids.
 */
enum TAiScutPluginResourceIds
{
    EAiScutResourceDefaultIcon,
    EAiScutResourceEmptyIcon,
    EAiScutResourceBackCaption,
    EAiScutResourceEmptyCaption,
    EAiScutResourceNewMsgCaption,
    EAiScutResourceNewEmailCaption,
    EAiScutResourceNewSyncMLMailCaption,
    EAiScutResourceNewPostcardCaption,
    EAiScutResourceNewAudioMsgCaption,
    EAiScutResourceSelectMsgTypeCaption,
    EAiScutResourceChangeThemeCaption,
    EAiScutResourceNewMsgShortCaption,
    EAiScutResourceNewEmailShortCaption,
    EAiScutResourceNewSyncMLMailShortCaption,
    EAiScutResourceNewPostcardShortCaption,
    EAiScutResourceNewAudioMsgShortCaption,
    EAiScutResourceSelectMsgTypeShortCaption,
    EAiScutResourceChangeThemeShortCaption
};

/**
 * Resources that the plug-in will publish.
 */
const TAiContentItem KAiScutResources[] =
{
    // Default shortcut icon.
    { EAiScutResourceDefaultIcon,            L"DefaultIcon",            "image/*" }
    ,
    // Empty shortcut icon, used when shortcut target is unknown.
    { EAiScutResourceEmptyIcon,              L"EmptyIcon",              "image/*" }
    ,
    // Localizable caption for the back shortcut
    { EAiScutResourceBackCaption,            L"BackCaption",            "text/plain" }
    ,
    // Localizable caption for the empty shortcut.
    { EAiScutResourceEmptyCaption,           L"EmptyCaption",           "text/plain" }
    ,
    // Localizable caption for the "new message" shortcut.
    { EAiScutResourceNewMsgCaption,          L"NewMessageCaption",      "text/plain" }
    ,
    // Localizable caption for the "new email" shortcut.
    { EAiScutResourceNewEmailCaption,        L"NewEmailCaption",        "text/plain" }
    ,
    // Localizable caption for the "new syncml mail" shortcut.
    { EAiScutResourceNewSyncMLMailCaption,   L"NewSyncMLMailCaption",   "text/plain" }
    ,
    // Localizable caption for the "new postcard" shortcut.
    { EAiScutResourceNewPostcardCaption,     L"NewPostcardCaption",     "text/plain" }
    ,
    // Localizable caption for the "new audio message" shortcut.
    { EAiScutResourceNewAudioMsgCaption,     L"NewAudioMsgCaption",     "text/plain" }
    ,
    // Localizable caption for the "select message type" shortcut.
    { EAiScutResourceSelectMsgTypeCaption,   L"SelectMsgTypeCaption",   "text/plain" }
    ,
    // Localizable caption for the "change theme" shortcut.
    { EAiScutResourceChangeThemeCaption,     L"ChangeThemeCaption",     "text/plain" }
    ,
    // Localizable short caption for the "new message" shortcut.
    { EAiScutResourceNewMsgShortCaption,          L"NewMessageShortCaption",      "text/plain" }
    ,
    // Localizable short caption for the "new email" shortcut.
    { EAiScutResourceNewEmailShortCaption,        L"NewEmailShortCaption",        "text/plain" }
    ,
    // Localizable short caption for the "new syncml mail" shortcut.
    { EAiScutResourceNewSyncMLMailShortCaption,   L"NewSyncMLMailShortCaption",   "text/plain" }
    ,
    // Localizable short caption for the "new postcard" shortcut.
    { EAiScutResourceNewPostcardShortCaption,     L"NewPostcardShortCaption",     "text/plain" }
    ,
    // Localizable short caption for the "new audio message" shortcut.
    { EAiScutResourceNewAudioMsgShortCaption,     L"NewAudioMsgShortCaption",     "text/plain" }
    ,
    // Localizable short caption for the "new message" shortcut.
    { EAiScutResourceSelectMsgTypeShortCaption,   L"SelectMsgTypeShortCaption",   "text/plain" }
    ,
    // Localizable short caption for the "change theme" shortcut.
    { EAiScutResourceChangeThemeShortCaption,     L"ChangeThemeShortCaption",     "text/plain" }

};

const TInt KAiScutResourceCount = sizeof( KAiScutResources ) / 
                                            sizeof( KAiScutResources[0] );


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

/**
 * Event Ids.
 */
enum TAiScutEventIds
{
    EAiScutEventLaunchByIndex,
    EAiScutEventLaunchByValue,
    EAiScutEventShowSettings,
    EAiScutEventShowSetting,
    EAiScutEventLaunchFastswap,
    EAiScutEventLaunchByIndexAlternate,
    EAiScutEventLoseFocus,
    EAiScutEventGainFocus
};

/**
 * Services that the plug-in can perform.
 */
const TAiContentItem KAiScutEvents[] =
{
    // Launches a shortcut by its index that is delivered as an integer.
    { EAiScutEventLaunchByIndex, L"LaunchByIndex", "int" }
    ,
    // Launches a shortcut by its value that is delivered in a descriptor.
    { EAiScutEventLaunchByValue, L"LaunchByValue", "str" }
    ,
    // Shows the shortcut plug-in settings dialog.
    { EAiScutEventShowSettings,  L"ShowSettings",  "" }
    ,
    // Shows the shortcut plug-in setting.
    { EAiScutEventShowSetting,  L"ShowSetting",  "" }    
    ,
    // Opens the fast swap window    
    { EAiScutEventLaunchFastswap, L"LaunchFastSwap", "" }
    ,
    // Special launching. If the index points to appshell
    // fastswap is opened. Other special cases can be added to the engine
    { EAiScutEventLaunchByIndexAlternate, L"LaunchByIndexAlternate", "int" }
	,
    // Used when we move out of a SC button (Needed for Popup-functionality).
    // index of shortcut is delivered as an integer
    { EAiScutEventLoseFocus, L"LoseFocus", "int" }
    ,
    // Used when we move into a SC button (Needed for Popup-functionality).
    // index of shortcut is delivered as an integer.
    { EAiScutEventGainFocus, L"GainFocus", "int" }

};

#endif // AISCUTCONTENTMODEL_H

// End of File.