diff -r 238255e8b033 -r 84d9eb65b26f messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/UniSmilUtils.h --- a/messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/UniSmilUtils.h Fri Apr 16 14:56:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -/* -* Copyright (c) 2005 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: -* Static utility class for manipulating SMIL DOM -* -* -*/ - - -#ifndef __UNISMILUTILS_H -#define __UNISMILUTILS_H - -// ========== INCLUDE FILES ================================ -#include - -#include - -#include - -// ========== CONSTANTS ==================================== - -// SMIL ELEMENTS -_LIT(KSMILWREleBody, "body"); -_LIT(KSMILWREleHead, "head"); -_LIT(KSMILWREleLayout, "layout"); -_LIT(KSMILWRElePar, "par"); -_LIT(KSMILWREleRegion, "region"); -_LIT(KSMILWREleRoot_layout, "root-layout"); -_LIT(KSMILWREleSeq, "seq"); -_LIT(KSMILWREleSmil, "smil"); -_LIT(KSMILWREleMeta, "meta"); -_LIT(KSMILWREleTrans, "transition"); - -// Media types -_LIT(KSMILWREleAnimation, "animation"); -_LIT(KSMILWREleAudio, "audio"); -_LIT(KSMILWREleImg, "img"); -_LIT(KSMILWREleRef, "ref"); -_LIT(KSMILWREleText, "text"); -_LIT(KSMILWREleTextstream, "textstream"); -_LIT(KSMILWREleVideo, "video"); - -// SMIL PARAMS -_LIT(KSMILWRParaId, "id" ); -_LIT(KSMILWRParaName, "name"); -_LIT(KSMILWRParaContent, "content"); -_LIT(KSMILWRParaRegion, "region"); -_LIT(KSMILWRParaBgColor, "backgroundColor"); -_LIT(KSMILWRParaSrc, "src"); -_LIT(KSMILWRParaFit, "fit"); -_LIT(KSMILWRParaDur, "dur"); -_LIT(KSMILWRParaType, "type"); // Transition -_LIT(KSMILWRParaSubType, "subtype"); // Transition -_LIT(KSMILWRParaTransIn, "transIn" ); -_LIT(KSMILWRParaTransOut, "transOut" ); -_LIT(KSMILWRParaBegin, "begin" ); -_LIT(KSMILWRParaEnd, "end" ); - -// Text color mediaparam format: -// -_LIT ( KSMILWREleParam, "param" ); -// _LIT ( KSMILWRParaName, "name" ); Already defined -_LIT ( KSMILWRParaValue, "value" ); - -// Region dimensions -_LIT(KSMILWRParaWidth, "width"); -_LIT(KSMILWRParaHeight, "height"); -_LIT(KSMILWRParaTop, "top"); -_LIT(KSMILWRParaLeft, "left"); -_LIT(KSMILWRParaBottom, "bottom"); -_LIT(KSMILWRParaRight, "right"); - -// Region ID's -_LIT(KSMILWRRegIDImage, "Image"); -_LIT(KSMILWRRegIDVideo, "Video"); -_LIT(KSMILWRRegIDText, "Text"); - -// TEMPORARY - To recognise template -_LIT(KSMILMetaSmilProfile, "SMILProfile"); -_LIT(KSMILMetaSmilProfileValue, "3GPP-SMIL-Rel-5"); - - -// ========== MACROS ======================================= - -// ========== DATA TYPES =================================== - -// ========== FUNCTION PROTOTYPES ========================== - -// ========== FORWARD DECLARATIONS ========================= -class CMDXMLNode; -class CMDXMLDocument; - -// ========== CLASS DECLARATION ============================ - -/** -* Static utility class for manipulating SMIL DOM -* -* @lib UniDataModel.lib -* @since 3.1 -*/ -class UniSmilUtils - { - - public: - - /** - * StringToIntValue - * Convert a descriptor to TInt - * - * @since 3.1 - * @param aString IN: to be converted - * @param aDefault IN: default value to return if conversion fails - * @return converted value - */ - static TInt StringToIntValue( const TDesC& aString, TInt aDefault ); - - /** - * IsMediaElem - * Checks if node is mediaobject - * - * @since 3.1 - * @param aNodePtr IN: node to check - * @return ETrue node is media objects, EFalse otherwise - */ - static TBool IsMediaElem( CMDXMLNode *aNodePtr ); - - /** - * NextNode - * Finds the next node in DOM in order - * 1. Child nodes of the ref node first - * 2. Then siblings of the ref node - * 3. If ref node has no childs or siblings moves up to - * parent node and continues there - * 4. Returns NULL at the end of the document. - * - * @since 3.1 - * @param aRefNode IN: current node - * @return next node in presentation - */ - static CMDXMLNode* NextNode( CMDXMLNode* aRefNode ); - - /** - * RemoveChilds - * Removes all childs and childs of childs etc. from given node - * - * @since 3.1 - * @param IN aParent, node whos childs are to be removed - */ - static void RemoveChilds( CMDXMLNode* aParent ); - - /** - * MediaElemType - * Gets the media type of the object (text, img, video etc) - * - * @since 3.1 - * @param IN aNodePtr, media object node - * @return mediatype. EMsgMediaUnknown if node is not media object. - */ - static TMsgMediaType MediaElemType( CMDXMLNode* aNodePtr ); - - /** - * Gets the id value of the node. - * - * @since 3.1 - * @param IN aNodePtr, element - * @param OUT aId, id of the element if found, empty otherwise. - * @return KErrNone if found. KErrNotFound if element but no id, - * KErrNotSupported if not element. - */ - static TInt GetId( CMDXMLNode* aNodePtr, TPtrC& aId ); - - /** - * Gets the name and content of the metatag i.e. - * - * @since 3.1 - * @param IN aNodePtr, must be element - * @param OUT aName, name of the metatag. Value is garbage if function - * returns KErrNotFound - * @param OUT aContent, content of the metatag. Value is garbage if function - * returns KErrNotFound - * @return KErrNone if both ok. KErrNotFound otherwise. - */ - static TInt GetMetaTag( - CMDXMLNode* aNodePtr, - TPtrC& aName, - TPtrC& aContent ); - - /** - * Gets the region id i.e. region="xx" value of the node. - * Node must be media element node. - * - * @since 3.1 - * @param IN aNodePtr, media element - * @param OUT aId, regoin id of the element if found, empty otherwise. - * @return KErrNone if found. KErrNotSupported if not media element, - * KErrNotFound if no region specified. - */ - static TInt GetRegionId( CMDXMLNode* aNodePtr, TPtrC& aId ); - - /** - * Gets the location string from nodes src parameter. - * - * @since 3.1 - * @param aNodePtr, media element - * @return value of the location string. - */ - static TPtrC GetSrcL( CMDXMLNode* aNodePtr ); - - /** - * Gets SMIL type of the document. - * Tries to validate document according to conformance document requirements - * and SmilEditor template requirements. - * - * @since 3.1 - * @param aDom Root node of the document tree. - * @return Smil type of the document. - */ - static TUniSmilType GetSmilTypeL( CMDXMLDocument* aDom ); - - /** - * Gets SMIL type of the document. - * Tries to validate document according to SmilEditor template requirements. - * - * @since 3.1 - * @param aDom Root node of the document tree. - * @return ETrue if document is template SMIL. - */ - static TBool IsTemplateSmil( CMDXMLDocument* aDom ); - - }; - -#endif // __UNISMILUTILS_H