diff -r 000000000000 -r 08ec8eefde2f traceservices/commsdebugutility/INC/comsdbgstd.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/traceservices/commsdebugutility/INC/comsdbgstd.h Fri Jan 22 11:06:30 2010 +0200 @@ -0,0 +1,148 @@ +// Copyright (c) 1997-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: +// Comms debug utility (File and Serial logger) Client side internals header +// +// + +/** + @file + @internalTechnology +*/ + +#ifndef __COMSDBGSTD_H__ +#define __COMSDBGSTD_H__ + +#include "comsdbgsvr.h" +#include "comsdbgaux.h" + + +const TInt KFLogSrvMajorVersionNumber=2; +const TInt KFLogSrvMinorVersionNumber=0; +const TInt KFLogSrvBuildVersionNumber=0; +const TBool KLoggingOnOffDefault = ETrue; ///< Needed to tie together default setting in the client and server. +const TText KFullStopChar='.'; +const TText8 KFullStopChar8='.'; + +_LIT(KFLoggerServerName,"!Comsdbg server"); ///< Identifier to symbian OS server system. + + + + +/** + * Message types that are passed from client to server. + * + */ +enum TFileLoggerOperations + { + EStaticWriteToLog, + EWriteToLog, + ESetLogTag, + EClearLog, + EWriteBinary, + EShutDownServer, + ESetHeapFailure + }; + + +/** + * FlogOverflow16 - class to quietly handle descriptor overflows + * + * This class overrides the "Overflow" function in the + * TDes16's own overflow class. The overflow function is + * designed to quietly ignore any overflow which occurs when + * copying/appending strings, thus + * enabling flogger to implicitly truncate the + * logging strings where necessary. + */ +class TFlogOverflow16 : public TDes16Overflow + { +public: + void Overflow(TDes16& /*aDes*/) { } + }; + + +/** + * FlogOverflow8 - class to quietly handle descriptor overflows + * + * This class overrides the "Overflow" function in the + * TDes8's own overflow class. The overflow function is + * designed to quietly ignore any overflow which occurs when + * copying/appending strings, thus + * enabling flogger to implicitly truncate the + * logging strings where necessary. + */ +class TFlogOverflow8 : public TDes8Overflow + { +public: + void Overflow(TDes8& /*aDes*/) { } + }; + +/** + * RFileLoggerBody - class to provide all internal data for the client side + * + * This class contains all data members which would otherwise be in the + * RFileLogger class. They are instead in this file since that keeps the + * size of RFileLogger to a minimum, and also means its size will not + * change very often. + * By keeping the RFileLogger class size to a minimum, it means in release + * builds where no logging is to be included, only a skeleton of the + * RFileLogger is built into each component, numbering a handful of bytes. + */ +class RFileLoggerBody : public RSessionBase + { +public: + RFileLoggerBody(); + + // CreateSession is a protected member of RSessionBase, so we must derive from + // it and provide a means to call this via pass-through inline functions. + // In a normal client-server situation RFileLogger itself would derive from + // RSessionBase. + inline TInt DoCreateSession(const TDesC& aServer,const TVersion& aVersion,TInt aAsyncMessageSlots); + inline TInt DoSendReceive(TInt aFunction,const TIpcArgs& aArgs) const; + inline TInt DoSendReceive(TInt aFunction) const; + inline void Close(); + +public: + // we have no access methods to access these so they are public instead. + TPckgBuf iLoggingOnPckg; + TFlogOverflow16 iFlogOverflow16; + TFlogOverflow8 iFlogOverflow8; + }; + +/** +FLogger - flogger server process startup class +This class contains functions to start the flogger server. +@internalComponent + */ +class FLogger + { +public: + class TSignal; +public: + IMPORT_C static TInt Start(); + IMPORT_C static TInt Run(); +private: + static TInt Init(); + }; + +/** + @removed Stub export for flogger.dll now that flogsvrl.dll contains the FLogger::Run() + @internalComponent + */ +IMPORT_C void ClientRunStubOrdinal1(); + +#include "comsdbg.inl" + + +#endif // __COMSDBGSTD_H__