| author | Tom Sutcliffe <thomas.sutcliffe@accenture.com> | 
| Thu, 09 Sep 2010 15:47:34 +0100 | |
| changeset 57 | 683f4b1f08ce | 
| parent 0 | 7f656887cf89 | 
| permissions | -rw-r--r-- | 
| 0 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 1 | // PerformanceCritical.cpp | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 2 | // | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 3 | // Copyright (c) 2006 - 2010 Accenture. All rights reserved. | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 4 | // This component and the accompanying materials are made available | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 5 | // under the terms of the "Eclipse Public License v1.0" | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 6 | // which accompanies this distribution, and is available | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 7 | // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 8 | // | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 9 | // Initial Contributors: | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 10 | // Accenture - Initial contribution | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 11 | // | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 12 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 13 | #include <fshell/clogger.h> | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 14 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 15 | const TInt KChunkSize = 2*1024*1024; // 2MB | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 16 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 17 | #ifdef __ARMCC__ | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 18 | // RVCT doesn't like inlining DoLog when it's used more than once | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 19 | #define FORCEINLINE __forceinline | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 20 | #else | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 21 | #define FORCEINLINE | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 22 | #endif | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 23 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 24 | // We use a minimum of 4KB by having any global data, so no need to scrimp or only stash a pointer | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 25 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 26 | TBuf8<2048> gTempBuf; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 27 | TUint8* gTempBufPtr = NULL; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 28 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 29 | RClogger gClogger; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 30 | RChunk gChunk; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 31 | TInt* gBufSize = NULL; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 32 | TUint8* gBufPtr = NULL; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 33 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 34 | TBool gInitialised = EFalse; // Since POD is guaranteed to be initialised properly we'll use this to test whether we've already setup the global data | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 35 | TBuf8<10> gTimeBuf; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 36 | TUint8* gTimeBufPtr = NULL; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 37 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 38 | enum TPanic | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 39 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 40 | E16BitFunctionsNotSupported, | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 41 | ENotEnoughMemoryForBuffer, | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 42 | ECouldntConnectToClogger, | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 43 | EBufferFull, | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 44 | }; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 45 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 46 | void BlowUp(TPanic aPanic) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 47 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 48 | 	User::Panic(_L("CloggerPerfLog"), aPanic);
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 49 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 50 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 51 | EXPORT_C TInt RClogger::StaticConnect(const TDesC& aTag) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 52 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 53 | if (gInitialised) return KErrNone; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 54 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 55 | // Will do these because I not 100% certain about what guarantees the runtime provides | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 56 | // about initialisation of non-POD globals | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 57 | new(&gClogger) RClogger; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 58 | new(&gChunk) RChunk; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 59 | new(&gTempBuf) TBuf8<2048>; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 60 | new(&gTimeBuf) TBuf8<10>; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 61 | gTimeBufPtr = (TUint8*)gTimeBuf.Ptr(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 62 | gTempBufPtr = (TUint8*)gTempBuf.Ptr(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 63 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 64 | TInt err = gClogger.Connect(aTag); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 65 | if (err) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 66 | 		{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 67 | BlowUp(ECouldntConnectToClogger); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 68 | //gChunk.Close(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 69 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 70 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 71 | TAny* arg0 = &gChunk; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 72 | err = gClogger.Reserved(0xC0FFEE, arg0, (TAny*)KChunkSize); // Get chunk from the server using the magic Reserved function | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 73 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 74 | if (err) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 75 | 		{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 76 | BlowUp(ENotEnoughMemoryForBuffer); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 77 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 78 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 79 | TUint8* base = gChunk.Base(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 80 | gBufSize = reinterpret_cast<TInt*>(base); // Use first word of chunk to indicate size | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 81 | *gBufSize = 0; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 82 | //gBuf.Set(base+4, 0, KChunkSize-4); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 83 | gBufPtr = base+4; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 84 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 85 | #ifdef _DEBUG | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 86 | // For debugging when something failed to write to a part of the chunk | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 87 | memset(gBufPtr, 'i', KChunkSize-4); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 88 | #endif | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 89 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 90 | gInitialised = ETrue; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 91 | return err; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 92 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 93 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 94 | EXPORT_C void RClogger::StaticClose() | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 95 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 96 | if (gInitialised) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 97 | 		{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 98 | gClogger.Close(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 99 | gChunk.Close(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 100 | gInitialised = EFalse; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 101 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 102 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 103 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 104 | //#ifdef __BIG_ENDIAN__ | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 105 | //const TUint16 KCrLf = 0x0d0a; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 106 | //#else | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 107 | //const TUint16 KCrLf = 0x0a0d; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 108 | //#endif | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 109 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 110 | // Use this lookup table as a quick way of hex formatting a string | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 111 | char const * const KHexify = "0123456789ABCDEF"; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 112 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 113 | inline void Hexify4(TUint8* aBuf, TUint32 aVal) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 114 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 115 | char const * const hexify = KHexify; // Saves compiler re-reading global | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 116 | TUint32 idx; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 117 | idx = aVal & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 118 | aBuf[3] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 119 | idx = (aVal >> 4) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 120 | aBuf[2] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 121 | idx = (aVal >> 8) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 122 | aBuf[1] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 123 | idx = (aVal >> 12) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 124 | aBuf[0] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 125 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 126 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 127 | void Hexify8(TUint8* aBuf, TUint32 aVal) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 128 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 129 | // Don't use the global object, it's slightly quicker to access a local variable | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 130 | // If we were going to forceinline this function it would probably be advisable to go back to using the global one | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 131 | char const * const hexify = "0123456789ABCDEF"; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 132 | TUint32 idx; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 133 | idx = aVal & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 134 | aBuf[7] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 135 | idx = (aVal >> 4) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 136 | aBuf[6] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 137 | idx = (aVal >> 8) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 138 | aBuf[5] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 139 | idx = (aVal >> 12) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 140 | aBuf[4] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 141 | idx = (aVal >> 16) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 142 | aBuf[3] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 143 | idx = (aVal >> 20) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 144 | aBuf[2] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 145 | idx = (aVal >> 24) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 146 | aBuf[1] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 147 | idx = (aVal >> 28) & 0xF; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 148 | aBuf[0] = hexify[idx]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 149 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 150 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 151 | FORCEINLINE void DoLog(TRefByValue<const TDesC8> aFmt, VA_LIST aList) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 152 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 153 | TDes8& tempBuf(gTempBuf); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 154 | tempBuf.FormatList(aFmt, aList); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 155 | //__ASSERT_ALWAYS(memBuf.MaxLength()-memBuf.Length() >= tempBuf.Length() + 8 + 3, BlowUp(EBufferFull)); // 8 for timebuf, 3 for the space and newlines | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 156 | // This costs 10 instructions - not much compared to FormatList, but what's the point of checking then panicking anyway? | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 157 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 158 | TUint8* ptr = gBufPtr; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 159 | // Copy timebuf plus a space | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 160 | //gTimeBuf.NumFixedWidthUC(User::FastCounter(), EHex, 8); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 161 | //memcpy(ptr, gTimeBufPtr, 8); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 162 | Hexify8(ptr, User::NTickCount()); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 163 | ptr[8] = ' '; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 164 | ptr += 9; // for the space too | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 165 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 166 | // And append the formatted string plus a newline | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 167 | TInt formatLen = tempBuf.Length(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 168 | memcpy(ptr, gTempBufPtr, formatLen); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 169 | ptr += formatLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 170 | //*((TUint16*)ptr) = KCrLf; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 171 | // ^ Can't do the above because of alignment issues on ARM | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 172 | ptr[0] = '\r'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 173 | ptr[1] = '\n'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 174 | gBufPtr = ptr + 2; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 175 | *gBufSize += formatLen + 11; // 8 for timeBuf, 3 for space&CRLF | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 176 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 177 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 178 | EXPORT_C void RClogger::Slog(TUint32 /*aLogMask*/, TRefByValue<const TDesC8> aFmt, ...) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 179 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 180 | VA_LIST args; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 181 | VA_START(args, aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 182 | DoLog(aFmt, args); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 183 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 184 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 185 | EXPORT_C void RClogger::Slog(TRefByValue<const TDesC8> aFmt, ...) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 186 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 187 | VA_LIST args; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 188 | VA_START(args, aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 189 | DoLog(aFmt, args); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 190 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 191 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 192 | EXPORT_C void RClogger::Slog(const char* aFmt, ...) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 193 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 194 | VA_LIST args; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 195 | VA_START(args, aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 196 | TPtrC8 ptr((const TUint8*)aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 197 | DoLog(ptr, args); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 198 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 199 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 200 | EXPORT_C void RClogger::Slog(TUint32 /*aLogMask*/, const char* aFmt, ...) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 201 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 202 | VA_LIST args; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 203 | VA_START(args, aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 204 | TPtrC8 ptr((const TUint8*)aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 205 | DoLog(ptr, args); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 206 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 207 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 208 | EXPORT_C void RClogger::SlogList(TRefByValue<const TDesC8> aFmt, VA_LIST aList) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 209 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 210 | DoLog(aFmt, aList); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 211 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 212 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 213 | EXPORT_C void RClogger::SlogList(const char* aFmt, VA_LIST aList) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 214 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 215 | TPtrC8 ptr((const TUint8*)aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 216 | DoLog(ptr, aList); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 217 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 218 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 219 | EXPORT_C void RClogger::SlogList(TUint32 /*aLogMask*/, TRefByValue<const TDesC8> aFmt, VA_LIST aList) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 220 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 221 | DoLog(aFmt, aList); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 222 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 223 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 224 | EXPORT_C void RClogger::SlogList(TUint32 /*aLogMask*/, const char* aFmt, VA_LIST aList) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 225 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 226 | TPtrC8 ptr((const TUint8*)aFmt); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 227 | DoLog(ptr, aList); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 228 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 229 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 230 | // Screw the 16-bit versions, if you want performance you should be logging in 8-bit | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 231 | EXPORT_C void RClogger::Slog(TRefByValue<const TDesC>, ...) { BlowUp(E16BitFunctionsNotSupported); }
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 232 | EXPORT_C void RClogger::Slog(TUint32, TRefByValue<const TDesC>, ...) { BlowUp(E16BitFunctionsNotSupported); }
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 233 | EXPORT_C void RClogger::SlogList(TRefByValue<const TDesC>, VA_LIST) { BlowUp(E16BitFunctionsNotSupported); }
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 234 | EXPORT_C void RClogger::SlogList(TUint32, TRefByValue<const TDesC>, VA_LIST) { BlowUp(E16BitFunctionsNotSupported); }
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 235 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 236 | // Doesn't need to do anything | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 237 | EXPORT_C void RClogger::SetStaticLogBehaviour(TUint /*aLogBehaviour*/) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 238 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 239 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 240 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 241 | /* | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 242 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 243 | Actually, the compiler's may not be optimal but it uses one less register, so avoids accessing main mem as much! | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 244 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 245 | __NAKED__ void Hexify4(TUint8* aBuf, TUint32 aVal, TUint8 const*const aHexify) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 246 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 247 | // Compiler refuses to generate optimal assembly, so screw it | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 248 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 249 | // r0 is aBuf, r1 is aVal, r2 is hexify | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 250 | // r4 is 0xF for convenience of ANDing | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 251 | 	asm("push {r4}");
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 252 | 	asm("mov r4, #0xF");
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 253 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 254 | 	asm("and r3, r4, r1"); // r3 = aVal & 0xF
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 255 | 	asm("ldrb r3, [r2, r3]"); // r3 = aHexify[r3]
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 256 | 	asm("strb r3, [r0, #3]"); // aBuf[3] = r3
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 257 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 258 | 	asm("and r3, r4, r1, lsr #4"); // r3 = 0xF & (aVal >> 4)
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 259 | 	asm("ldrb r3, [r2, r3]"); // r3 = aHexify[r3]
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 260 | 	asm("strb r3, [r0, #2]"); // aBuf[2] = r3
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 261 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 262 | 	asm("and r3, r4, r1, lsr #8"); // r3 = 0xF & (aVal >> 8)
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 263 | 	asm("ldrb r3, [r2, r3]"); // r3 = aHexify[r3]
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 264 | 	asm("strb r3, [r0, #1]"); // aBuf[1] = r3
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 265 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 266 | 	asm("and r3, r4, r1, lsr #16"); // r3 = 0xF & (aVal >> 16)
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 267 | 	asm("ldrb r3, [r2, r3]"); // r3 = aHexify[r3]
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 268 | 	asm("strb r3, [r0, #0]"); // aBuf[0] = r3
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 269 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 270 | 	asm("pop {r4}");
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 271 | 	asm("bx lr");
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 272 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 273 | */ | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 274 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 275 | FORCEINLINE void DoHexDump(const TDesC8& aHeader, const TDesC8& aData) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 276 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 277 | //__DEBUGGER(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 278 | TUint8 * const origBufPtr = gBufPtr; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 279 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 280 | const TInt KLineSize = 16; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 281 | const TInt KExtra = 19; // 8-digit timestamp, space, 4-digit idx, space colon space, space, CRLF | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 282 | TUint32 tickCount = User::NTickCount(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 283 | TUint8 timestampBuf[8]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 284 | //TPtr8(timestampBuf, 8, 8).NumFixedWidthUC(tickCount, EHex, 8); // TODO replace with custom hexifier? | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 285 | Hexify8(timestampBuf, tickCount); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 286 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 287 | TUint8 const * dataPtr = aData.Ptr(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 288 | TUint8 const * const dataEnd = dataPtr + aData.Length(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 289 | TInt headerLen = aHeader.Length(); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 290 | // Rather than messing around with putting spaces in where needed, fill the whole buffer with spaces. It'll probably be more efficient to do one big fill like this | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 291 | memset(origBufPtr, ' ', (headerLen + 4*KLineSize + KExtra)*(aData.Length()+8)/16); // I think this is linelen*numLines | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 292 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 293 | // Do "Timestamp Header : " | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 294 | memcpy(origBufPtr, timestampBuf, 8); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 295 | TUint8* bufPtr = origBufPtr + 9; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 296 | memcpy(bufPtr, aHeader.Ptr(), headerLen); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 297 | bufPtr += headerLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 298 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 299 | TInt offset = 0; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 300 | while (dataPtr < dataEnd) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 301 | 		{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 302 | const TInt fragLen = Min(KLineSize, dataEnd-dataPtr); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 303 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 304 | if (offset) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 305 | 			{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 306 | // Write continuation empty space | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 307 | //bufPtr = memset(bufPtr, ' ', headerLen); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 308 | memcpy(bufPtr, timestampBuf, 8); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 309 | bufPtr += 9 + headerLen; // 8-byte timestamp, space | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 310 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 311 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 312 | // Do "0000 : " | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 313 | //gTempBuf.NumFixedWidthUC(offset++, EHex, 4); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 314 | //memcpy(bufPtr, gTempBufPtr, 4); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 315 | Hexify4(bufPtr, offset); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 316 | offset += 16; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 317 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 318 | bufPtr += 4; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 319 | //bufPtr[0] = ' '; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 320 | bufPtr[1] = ':'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 321 | //bufPtr[2] = ' '; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 322 | bufPtr += 3; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 323 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 324 | // Do the hexdump of this line's data | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 325 | TInt i = fragLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 326 | while(i--) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 327 | 			{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 328 | TUint8 c = dataPtr[i]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 329 | TInt idx = i*3; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 330 | //TInt idx = fragLen<<1 + fragLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 331 | bufPtr[idx] = KHexify[c>>4]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 332 | bufPtr[idx+1] = KHexify[c & 0xF]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 333 | //bufPtr[idx+2] = ' '; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 334 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 335 | bufPtr += KLineSize*3 + 1; // Plus 1 for the extra space char between the hex rep and the nonhex | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 336 | memcpy(bufPtr, dataPtr, fragLen); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 337 | bufPtr[fragLen] = '\r'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 338 | bufPtr[fragLen+1] = '\n'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 339 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 340 | // Now escape anything nonprintable with '.' | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 341 | i = fragLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 342 | while (i--) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 343 | 			{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 344 | TUint8 c = bufPtr[i]; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 345 | if (c < 0x20 || c > 0x7E) bufPtr[i] = '.'; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 346 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 347 | bufPtr += fragLen + 2; // For the newline | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 348 | dataPtr += fragLen; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 349 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 350 | gBufPtr = bufPtr; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 351 | *gBufSize += gBufPtr - origBufPtr; | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 352 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 353 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 354 | EXPORT_C void RClogger::StaticHexDump(TUint32 /*aLogMask*/, const TDesC8& aHeader, const TDesC8& aData) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 355 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 356 | //TODO | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 357 | //gClogger.HexDump(aLogMask, aHeader, aData); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 358 | DoHexDump(aHeader, aData); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 359 | } | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 360 | |
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 361 | EXPORT_C void RClogger::StaticHexDump(const TDesC8& aHeader, const TDesC8& aData) | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 362 | 	{
 | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 363 | //TODO | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 364 | //gClogger.HexDump(EAllEnabled, aHeader, aData); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 365 | DoHexDump(aHeader, aData); | 
| 
7f656887cf89
First submission to Symbian Foundation staging server.
 Tom Sutcliffe <thomas.sutcliffe@accenture.com> parents: diff
changeset | 366 | } |