epoc32/include/tools/coredump/streamelement.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 
    17 #ifndef STREAMELEMENT_H
    18 #define STREAMELEMENT_H
    19 
    20 #include <e32base.h>
    21 #include <s32mem.h>
    22 
    23 #include <rm_debug_api.h>
    24 #include <debuglogging.h>
    25 
    26 /**
    27 @internalTechnology 
    28 @released
    29 
    30 Pure virtual base class for streamable classes. 
    31 Used when a class must be passed accross a client server interface
    32 */
    33 class CStreamElementBase : public CBase
    34 {
    35 
    36 public:
    37 	
    38 	virtual ~CStreamElementBase()
    39 		{
    40 		}
    41 
    42 	/** 
    43 	Creates HBufC8 with a representation of ’this’ object
    44 	*/
    45 	IMPORT_C  HBufC8* MarshalDataL();
    46 
    47 
    48 	TInt static MaxSize()
    49 		{
    50 		return 0;
    51 		}
    52 
    53 	virtual TInt Size() const = 0;
    54 
    55 	// Initializes ’this’ from stream
    56 	virtual void InternalizeL( RReadStream & aStream ) = 0;
    57 
    58 	// Writes ’this’ to the stream
    59 	virtual void ExternalizeL( RWriteStream & aStream, CBufFlat* buf ) = 0;
    60 
    61 	TUint32 iSpare1;
    62 	TUint32 iSpare2;
    63 };
    64 
    65 #endif // STREAMELEMENT_H