diff -r 000000000000 -r bde4ae8d615e os/kernelhwsrv/kernel/eka/debug/crashMonitor/inc/scmbytestreamutil.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/kernelhwsrv/kernel/eka/debug/crashMonitor/inc/scmbytestreamutil.inl Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,125 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "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: +// +// WARNING: This file contains some APIs which are internal and are subject +// to change without noticed. Such APIs should therefore not be used +// outside the Kernel and Hardware Services package. +// + +#include + +namespace Debug + { + /** + * TByteStreamReader implementation + */ + + /** + * Returns the next byte from the stream + * @return TUint8 byte requested + */ + inline TUint8 TByteStreamReader::ReadByte() + { + return iBuffer[iPos++]; + } + + /** + * Returns the next short from the stream + * @return TUint16 short requested + */ + inline TUint16 TByteStreamReader::ReadShort() + { + TUint8 b1 = ReadByte(); + TUint8 b2 = ReadByte(); + return (TUint16)(b1 + (b2 << 8)); + } + + /** + * Returns the next TUInt32 from the stream + * @return TUInt32 TUInt32 requested + */ + inline TUint32 TByteStreamReader::ReadInt() + { + TUint16 s1 = ReadShort(); + TUint16 s2 = ReadShort(); + return s1 + (s2 << 16); + } + + /** + * Returns the next TUInt64 from the stream + * @return TUInt64 TUInt64 requested + */ + inline TUint64 TByteStreamReader::ReadInt64() + { + return MAKE_TUINT64(ReadInt(), ReadInt()) ; + } + + /** + * TByteStreamWriter implementation + */ + + /** + * Writes a short to the stream + * @param aValue Value to write to stream + */ + inline void TByteStreamWriter::WriteShort(TUint16 aValue) + { + WriteByte((TUint8) aValue); + WriteByte((TUint8) (aValue >> 8)); + } + + /** + * Writes an int to the stream + * @param aValue Value to write to stream + */ + inline void TByteStreamWriter::WriteInt(TUint32 aValue) + { + WriteByte((TUint8)aValue); + WriteByte((TUint8) (aValue >> 8)); + WriteByte((TUint8) (aValue >> 16)); + WriteByte((TUint8) (aValue >> 24)); + } + + /** + * Writes a 64 bit int to the stream + * @param aValue Value to write to stream + */ + inline void TByteStreamWriter::WriteInt64(TUint64 aValue) + { + WriteInt(I64HIGH(aValue)); + WriteInt(I64LOW(aValue)); + } + + /** + * Enables physical writing such that the physical writers DoPhysicalWrite + * method will be invoked upon a write. This may write to a given media + * as defined by the implementation of this method + */ + inline void TByteStreamWriter::EnablePhysicalWriting() + { + iPhysEnabled = ETrue; + } + + /** + * Disables physical writing such that the physical writers DoPhysicalWrite + * method will not be invoked upon a write. + */ + inline void TByteStreamWriter::DisablePhysicalWriting() + { + iPhysEnabled = EFalse; + } + } + + +//eof