--- a/creator/inc/creator_scriptelement.h Thu Aug 19 09:55:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,349 +0,0 @@
-/*
-* Copyright (c) 2008 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 CREATORSCRIPTELEMENT_H_
-#define CREATORSCRIPTELEMENT_H_
-
-#include "creator_randomdatafield.h"
-#include "creator_modulebase.h"
-#include "creator_model.h"
-#include <e32base.h>
-
-class CCreatorScriptElement;
-class CCreatorEngine;
-
-_LIT(KEmpty, "");
-_LIT(KContextSep, "::");
-
-// Common attributes:
-_LIT(KAmount, "amount");
-_LIT(KRandomLength, "randomlength");
-_LIT(KId, "id");
-_LIT(KMaxAmount, "maxamount");
-
-// Common element names:
-_LIT(KScript, "creatorscript");
-_LIT(KFields, "fields");
-_LIT(KContactSetRef, "contact-set-reference");
-_LIT(KExistingContacts, "numberofexistingcontacts");
-
-// Common attribute values:
-_LIT(KMax, "max");
-_LIT(KDefault, "default");
-_LIT(KIncrease, "incvalueforeachcopy");
-
-class CCreatorScriptElementCache : public CBase
-{
-public:
- static CCreatorScriptElementCache* CCreatorScriptElementCache::NewL();
- virtual ~CCreatorScriptElementCache();
-
- void RemoveElements();
- void AddElementL(CCreatorScriptElement* aElement);
-private:
- CCreatorScriptElementCache();
- void ConstructL();
- RPointerArray<CCreatorScriptElement> iElementCache;
-
-};
-
-
-class CCreatorScriptAttribute : public CBase
-{
-public:
- static CCreatorScriptAttribute* NewL(const TDesC& aName, const TDesC& aValue);
- static CCreatorScriptAttribute* NewLC(const TDesC& aName, const TDesC& aValue);
- virtual ~CCreatorScriptAttribute();
-
- TPtrC Name() const;
- void SetNameL(const TDesC& aName);
- TPtrC Value() const;
- void SetValueL(const TDesC& aValue);
-
-protected:
-
- CCreatorScriptAttribute();
- virtual void ConstructL(const TDesC& aName, const TDesC& aValue);
-
-private:
- HBufC* iName;
- HBufC* iValue;
-};
-
-/**
- * Base class for all elements
- */
-class CCreatorScriptElement : public CBase
-{
-public:
-
- static CCreatorScriptElement* CCreatorScriptElement::NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext = KNullDesC);
-
- /**
- * Destructor
- */
- virtual ~CCreatorScriptElement();
-
- /**
- * Returns the array of sub-elements.
- * @return Reference to the sub-element array.
- */
- virtual RPointerArray<CCreatorScriptElement> const& SubElements() const;
- virtual RPointerArray<CCreatorScriptElement>& SubElements();
-
- /**
- * Returns a sub-element.
- * @param aIndex Sub-element array index.
- * @return Pointer to a sub-element
- */
- virtual CCreatorScriptElement* SubElement(TInt aIndex);
-
- /**
- * Finds a sub-element by a name.
- * @param aName Name of the sub-element
- * @return Pointer to the first matching sub-element. NULL if not found.
- */
- virtual CCreatorScriptElement* FindSubElement(const TDesC& aName);
-
- /**
- * Removes all sub-elements.
- */
- virtual void RemoveSubElements();
-
- /**
- * Removes a sub-element
- * @param aIndex Index of the element to be removed
- */
- virtual void RemoveSubElementL(TInt aIndex);
-
- /**
- * Adds an element to the sub-element list.
- * Leaves with error KErrNotSupported, if sub-element is illegal.
- * Leaves with error KErrArgument, if the index in out of bounds.
- * @param aElem Pointer to the element to be added. Takes ownership of the pointer.
- * @param aIndex Sub-element array index where to add the element. -1 means that
- * the element is added to the end of the array.
- */
- virtual void AddSubElementL(CCreatorScriptElement* aElem, TInt aIndex = -1);
-
- /**
- * Returns the array of attributes.
- * @return Reference to the attribute array.
- */
- virtual RPointerArray<CCreatorScriptAttribute> const& Attributes() const;
-
- /**
- * Returns an attribute.
- * @param aIndex Attribute array index.
- * @return Pointer to a attribute
- */
- virtual CCreatorScriptAttribute* Attribute(TInt aIndex);
-
- /**
- * Removes all attributes.
- */
- virtual void RemoveAttributes();
-
- /**
- * Removes an attribute
- * @param aIndex Index of the attribute to be removed
- */
- virtual void RemoveAttributeL(TInt aIndex);
-
- /**
- * Adds an attribute to the attribute list.
- * Leaves with error KErrNotSupported, if attribute is illegal.
- * @param aAttribute Pointer to the element to be added. Takes ownership of the pointer.
- * @param aIndex Attribute array index where to add the attribute. -1 means that
- * the attribute is added to the end of the array.
- */
- virtual void AddAttributeL(CCreatorScriptAttribute* aAttribute, TInt aIndex = -1);
-
- /**
- * Finds attribute with the given name. First match is returned.
- */
- virtual const CCreatorScriptAttribute* FindAttributeByName(const TDesC& aName) const;
- virtual CCreatorScriptAttribute* FindAttributeByName(const TDesC& aName);
-
- /**
- * Returns element name
- * @return Element name
- */
- virtual TPtrC Name() const;
-
- /**
- * Sets the element name.
- * @param aName Element name
- */
- virtual void SetNameL(const TDesC& aName);
-
- /**
- * Returns element content
- * @return Element content
- */
- virtual TPtrC Content() const;
-
- /**
- * Set the content of the element.
- * @param aContenct Element content
- */
- virtual void SetContentL(const TDesC& aContent);
- virtual void AppendContentL(const TDesC& aContent);
-
- /**
- * Returns element context
- * @return Element context
- */
- virtual TPtrC Context() const;
-
- /**
- * Set the context of the element.
- * @param aContenct Element context
- */
- virtual void SetContextL(const TDesC& aContext);
-
- /**
- * Tells whether the element should be cached for future use.
- * @return ETrue if the element should be cached for future use, EFalse otherwise.
- */
- virtual TBool IsCacheNeeded();
- virtual void AddToCacheL(CCreatorScriptElementCache& aCache);
- virtual void AddToCacheL();
- virtual TBool IsCommandElement() const;
- virtual void ExecuteCommandL();
- //virtual void SaveCommandResultsL();
- //virtual void DiscardCommandResultsL();
- virtual TBool IsRoot() const;
- virtual RPointerArray<CCreatorModuleBaseParameters>& CommandParameters();
- virtual const RPointerArray<CCreatorModuleBaseParameters>& CommandParameters() const;
-
-protected:
-
- /**
- * Constructors.
- */
- CCreatorScriptElement(CCreatorEngine* aEngine = 0);
-
- /**
- * @param aName Name of the element.
- */
- virtual void ConstructL(const TDesC& aName, const TDesC& aContext = KNullDesC);
-
- /**
- * Tells whethet the sub-element is allowed or not.
- * @param aElem Sub-element to be tested.
- * @return Boolean value telling whether the sub-element is allowed
- * to be added or not.
- */
- virtual TBool IsSubElementSupported(const CCreatorScriptElement& aElem) const;
-
- virtual MCreatorRandomDataField::TRandomLengthType ResolveRandomDataTypeL(const CCreatorScriptAttribute& aAttr, TInt& aRandomLen ) const;
-
- virtual TBool ConvertStrToBooleanL(const TDesC& aStr) const;
- virtual TInt ConvertStrToIntL(const TDesC& aStr) const;
- virtual TUint ConvertStrToUintL(const TDesC& aStr) const;
- virtual void ConvertStrToReal64L(const TDesC& aStr, TReal64& aVal) const;
- virtual void ConvertStrToReal32L(const TDesC& aStr, TReal32& aVal) const;
-
- virtual void AppendContactSetReferenceL(const CCreatorScriptElement& aContactSetRefElem, RArray<TLinkIdParam>& aLinkArray ) const;
-
- virtual void SetContentToTextParamL(HBufC*& aPtr, const TDesC& aContent );
-
- virtual TTime ConvertToDateTimeL(const TDesC& aDtStr) const;
-
- virtual TInt CompareIgnoreCase(const TDesC& aStr1, const TDesC& aStr2 ) const;
-
- /**
- * Increases phonenumber by aDelta.
- *
- * Special cases, that are handled:
- * +9 -> +9, +10, +11...
- * +3584098#99 -> +3584098#99, +3584098#100, +3584098#101...
- * # -> #0, #1, #2...
- * 123# -> 123#0, 123#1, 123#2...
- * 099 -> 099, 100, 101...
- *
- * @param aOriginal original phonenumber
- * @param aDelta number to be added to original number. Must be >= 0.
- * @param aIncreased on return contains the increased number.
- * The buffer must be allocated by the caller.
- */
- void IncreasePhoneNumL( const TDesC& aOriginal, TInt aDelta, HBufC* aIncreased ) const;
-
-protected:
-
- // Sub-element array
- RPointerArray<CCreatorScriptElement> iSubElements;
- // Attribute array
- RPointerArray<CCreatorScriptAttribute> iAttributes;
- // Element name (e.g. "contact")
- HBufC* iName;
- // Element content
- HBufC* iContent;
- // Context
- HBufC* iContext;
-
- TBool iIsCommandElement;
- TBool iIsRoot;
- CCreatorEngine* iEngine;
- RPointerArray<CCreatorModuleBaseParameters> iParameters;
-};
-
-/**
- * Script element
- */
-class CCreatorScriptRoot : public CCreatorScriptElement
-{
-public:
- static CCreatorScriptRoot* NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext = KNullDesC);
-protected:
- CCreatorScriptRoot(CCreatorEngine* aEngine);
-};
-
-/**
- * Calendar elements
- */
-
-/**
- * Base class for calendar elements
- */
-class CCreatorCalendarElementBase : public CCreatorScriptElement
-{
-public:
- static CCreatorCalendarElementBase* NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext = KNullDesC);
-protected:
- CCreatorCalendarElementBase(CCreatorEngine* aEngine);
-};
-
-/**
- * Message elements
- */
-
-/**
- * Base class for message elements
- */
-class CCreatorMessageElementBase : public CCreatorScriptElement
-{
-public:
- static CCreatorMessageElementBase* NewL(CCreatorEngine* aEngine, const TDesC& aName, const TDesC& aContext = KNullDesC);
-protected:
- CCreatorMessageElementBase(CCreatorEngine* aEngine);
-};
-
-#endif /*CREATORSCRIPTELEMENT_H_*/