diff -r 238255e8b033 -r 84d9eb65b26f messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/ConformanceChecker.h --- a/messagingapp/msgutils/unidatamodel/unimmsdataplugin/inc/ConformanceChecker.h Fri Apr 16 14:56:15 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,188 +0,0 @@ -/* -* Copyright (c) 2003 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: -* -*/ - - - -#ifndef CONFORMANCECHECKER_H -#define CONFORMANCECHECKER_H - - -// INCLUDES -#include -#include - -#include -#include - - -// CONSTANTS -_LIT(KMetaTag,"meta"); -_LIT(KPercent,"%"); -_LIT(KPx,"px"); -_LIT(KMs,"ms"); -_LIT(KImage,"Image"); -_LIT(KText,"Text"); - -const TInt KUSAsciiMinCode = 0; -const TInt KUSAsciiMaxCode = 127; - -//Type for the version of the Conformance Document -enum TMmsSmilVersion - { - EMmsSmil_v2_0=2, - EMmsSmil_v3_0 - }; - - -enum TFlags - { - EAllowVideoTag=1, //Allowing video tag as media - EAllowAllAttributes=2, //Not checking the attribute name of the elements - EAllowNonMilliseconds=4, //Allows other timing specifications then 'ms' (e.g. 's') - EAllowNonUsAscii=8, //Allows other than us-ascii values for src attribute - //for media elements - EAllowMixedRegionDimensions=16, //Allows mixed region dimensions (pixel and percent) - EAllowSeqTag=32, //Allows one tag right after the tag - EAllowAnyRegionNames=64 //Allows any name for the regions - }; - - - -// CLASS DECLARATION - -/** -* Class for checking the the content of a DOM tree against the Conformance Document. -* (Checking legacy content.) -* -* @lib smileng.lib -* @since 2.0 -*/ -class CConformanceChecker : public CBase - { - - public: // Constructors and destructor - - /** - * Two-phased constructor. - * @param aStrict - value of the checking mode flag - */ - static CConformanceChecker* NewL(); - - /** - * Destructor. - */ - ~CConformanceChecker(); - - public: // New functions - - /** - * Checks if the DOM tree's content is legacy content or not. - * @param aXmldoc - the root of the DOM tree - * @aVersion - the version of the Conformance Document - * @aFlags - the flags to gide the checking (combination of TFlags values) - * @return - true if the content is legacy - - false if the content is not legacy - */ - TBool Check(CMDXMLDocument* aXmldoc, TMmsSmilVersion aVersion, TInt aFlags); - - private: - - /** Checks the structure of the head element: allowed to contain only layout and meta element - * @param aHead - the root of head subtree - * @param aStrict - flag for checking mode (true strict checking, false loose checking) - * @return - true - if head has legacy structure - * - false - otherwise - */ - TBool CheckHeadStructure(CMDXMLNode* aHead); - - - /** Checks the structure of the body element: - - allowed to contain only par elements - * (one including seq element right after the body is allowed) - * @param aBody - the root of body subtree - * @return - true - if body has legacy structure - * - false - otherwise - */ - TBool CheckBodyStructure(CMDXMLNode* aBody); - - - /** Checks the content of the layout element - * - root-layout and max. 2 region elements are allowed - * @param aLayout - the root of layout subtree - * @return - true - if layout has legacy content - * - false - otherwise - */ - TBool CheckLayoutContent(CMDXMLNode* aLayout); - - - /** Checks the content of the body element - * @param aBody - the root of body subtree - * @return - true - if body has legacy content - * - false - otherwise - */ - TBool CheckBodyContent(CMDXMLNode* aBody); - - - /** Checks the content of the par element - * @param aPar - the root of par subtree - * @return - true - if par has legacy content - * - false - otherwise - */ - TBool CheckParContent(CMDXMLNode* aPar); - - - /** Checks if a descriptor is ending with 'ms' - * @param aValue - value to check - * @return - true if the ending is ms - * - false otherwise - */ - - TBool IsInMilliseconds(TDesC& aValue) const; - - - /** Checks if the given value is ending with percent or pixel - * and if this is conforming to the already set pixel and percent values. - * @param aValue - value to check, - * - should be the value of 'width', 'height', 'top', 'left' - * attributes for a region - * @param aPercent - true if the value should end with percent - * @param aPixel - true if the value should be in pixel - * @return true - if the value is not mixed (regarding aPercent,aPixel) - * false - if mixed - */ - TBool CheckMixedRegionAttribute(TDesC& aValue,TBool& aPercent,TBool& aPixel) const; - - /** Checks if the given value is exactly "Image" or "Text" and if it - * is duplicated (checking the transmitted boolean parameters). - * @param aValue - value to check, - * @param aFoundImage - true if the "Image" value will be duplicate - * @param aFoundText - true if the "Text" value will be duplicate - * @return true - if the value is "Image" or "Text" and it's not duplicated - * false - otherwise - */ - TBool CheckRegionNames(TDesC& aValue,TBool& aFoundImage,TBool& aFoundText) const; - - - private: // Data - - - TInt iFlags; //contains the flags to guide the checking - }; - -#endif // CONFORMANCECHECKER_H - -// End of File