--- a/hti/HtiFramework/inc/HtiMessage.h Tue Jul 06 16:05:13 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-/*
-* Copyright (c) 2009 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: Hti Message incapsulates HTI protocol messages structure.
-*
-*/
-
-
-#ifndef MESSAGEPARSER_H__
-#define MESSAGEPARSER_H__
-
-#include <e32std.h>
-#include <e32base.h>
-
-
-const TInt KDefaultPriority = 0;
-const TInt KPriorityMask = 0x2;
-const TInt KHtiMsgServiceUidLen = 4;
-
-
-NONSHARABLE_CLASS(CHtiMessage) : public CBase
- {
-public:
- /**
- * Constructs and parses a new message from descriptor in question.
- * This method is used to construct hti message from incoming data.
- * The descriptor must start from HTI header.
- * Available amount of data is copied from the descriptor depending
- * on the message size value in the header. The remaining data of
- * message body must be added using method AddToBody().
- *
- * @return new Hti message
- *
- * @see CheckValidHeader() for function to define either descriptor
- * starts from a valid Hti message header
- * @see AddToBody()
- */
- static CHtiMessage* NewL(const TDesC8& aMessage);
-
- /**
- * Creates a new HTI message without extension.
- * Can leave with KErrArgument if passed data are invalid
- * or other system-wide leave code (e.g. KErrNoMemory).
- * Ownership of aMessagBody is transfered.
- * This method is used to create a new outgoing HTI message.
- *
- * @param aMessageBody message body content
- * @param aServiceUid target service name
- * @param aWraped flag to indicate either
- * Security manager must wrap message body
- * @param aPriority message priority
- *
- */
- static CHtiMessage* NewL(TDesC8* aMessageBody,
- const TUid aServiceUid,
- TBool aWraped = EFalse,
- TInt aPriority = KDefaultPriority);
-
- /**
- * Creates a new HTI message with extension.
- * Can leave with KErrArgument if passed data are invalid
- * or other system-wide leave code (e.g. KErrNoMemory).
- * Ownership of aMessagBody is transfered.
- * This method is used to create a new outgoing HTI message.
- *
- * @param aMessageBody message body content
- * @param aServiceUid target service name
- * @param aExtBody extension content
- * @param aWraped flag to indicate either
- * Security manager must wrap message body
- * @param aPriority message priority
- *
- */
- static CHtiMessage* NewL(TDesC8* aMessageBody,
- const TUid aServiceUid,
- const TDesC8& aExtBody,
- TBool aWraped = EFalse,
- TInt aPriority = KDefaultPriority);
-
- /**
- * Deletes all message data allocated in heap.
- */
- virtual ~CHtiMessage();
-
- /**
- * Returns ETrue when the descriptor in question starts from
- * valid HTI header.
- *
- * @param aMessage descriptor with probable HTI message
- *
- * @return ETrue HTI header is valid
- */
- static TBool CheckValidHtiHeader(const TDesC8& aMessage);
-
- /**
- * Returns message size based on the header in question
- *
- * @param aMessage descriptor with an HTI message
- */
- static TInt Size(const TDesC8& aMessage);
-
- /**
- * Returns the minimal size of HTI message header.
- *
- */
- static TInt MinHeaderSize();
-
- /**
- * Check either HTI message body has body of required size as specified
- * in Hti header.
- */
- TBool IsBodyComplete() const;
-
- /**
- * Appends to the body a new part. If the descriptor length bigger
- * than remaining space for message body, only part
- * of the descritpor is copied to fill in all available space.
- *
- * @param aBodyPart descriptor with remaining message body
- *
- * @return number of bytes copied from the descriptor
- */
- TInt AddToBody(const TDesC8& aBodyPart);
-
- /**
- * Returns the size of a whole message (BodySize()+HeaderSize())
- */
- TInt Size() const;
-
- /**
- * Returns message service uid
- */
- TUid DestinationServiceUid() const;
-
- /**
- * Returns message body size
- */
- TInt BodySize() const;
-
- /**
- * Returns message priority
- */
- TInt Priority() const;
-
- /**
- * Returns wrap flag
- */
- TBool IsWrapped() const;
-
- /**
- * Returns header extension
- */
- TPtrC8 Extension() const;
-
- /**
- * Returns extention section size
- */
- TInt ExtSize() const;
-
- /**
- * Returns header size including extension section.
- */
- TInt HeaderSize() const;
-
- /**
- * Returns message body
- */
- TPtrC8 Body() const;
-
- /**
- * Return message header
- */
- TPtrC8 Header() const;
-
-public:
- /**
- * Returns the offset of a link data member
- */
- static const TInt iLinkOffset;
-
-protected:
- /**
- * Constructor
- */
- CHtiMessage();
-
- /**
- * Second-level constructors
- */
- void ConstructL(const TDesC8& aMessage);
- void ConstructL(const TUid aServiceUid,
- TDesC8* aMessageBody,
- const TDesC8& aExtBody,
- TBool aWraped,
- TInt aPriority);
- /**
- * helper function that make TInt from 3 bytes in big-endian format
- * @param aSrc bytes with integer
- *
- * @return integer
- */
- //static TInt ParseLittleEndian3(const TUint8* aSrc);
-
-private:
- /**
- * Link used when creating message queues
- */
- TSglQueLink iLink;
-
- /**
- * Message body used when constructing from parts
- * when body is ready pointer is copied to iBodyDes
- */
- HBufC8* iBody;
-
- /**
- * Complete body, used for access methods
- */
- TDesC8* iBodyDes;
-
- /**
- * Message header in binary format
- */
- TUint8* iHeader;
-
- /**
- * Body size copied from iHeader for quick access
- */
- TInt iBodySize;
-
- /**
- * Service UID extracted from iHeader.
- */
- TUid iServiceUid;
-
- /**
- * Size of extension section to be added to the header
- * Used during message construction from parts
- */
- TInt iExtRemainderSize;
- };
-
-#endif