diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/smsulog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/smsulog.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,94 @@ +// Copyright (c) 1998-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 "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + + +/** + @file +*/ + +#if !defined (__SMSULOG_H__) +#define __SMSULOG_H__ + +#include +#include +#include +#include "smsuact.h" + +class RFs; +class CSmsMessage; + + +/** + * Logs SMS-related events. + * + * The class uses the log engine functionality provided by the Log Engine (CLogWrapper + * etc.). + * + * @publishedAll + * @released + */ +class CSmsEventLogger : public CSmsuActiveBase + { +public: + IMPORT_C static CSmsEventLogger* NewL(RFs& aFs,TInt aPriority=CActive::EPriorityStandard); + IMPORT_C ~CSmsEventLogger(); + + IMPORT_C void AddEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage,const TLogSmsPduData& aData,TInt* aStatusId=NULL); + IMPORT_C void GetEvent(TRequestStatus& aStatus,TLogId aId); + IMPORT_C void ChangeEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage,const TLogSmsPduData& aData,TInt* aStatusId=NULL); + IMPORT_C void ChangeEvent(TRequestStatus& aStatus,const CSmsMessage& aSmsMessage, const TTime* aTime, const TLogSmsPduData& aData, TInt* aStatusId=NULL); + IMPORT_C void DeleteEvent(TRequestStatus& aStatus); + + inline TBool ClientAvailable() const; + inline TInt GetString(TDes& aString,TInt aId) const; + inline CLogEvent& Event(); + inline const CLogEvent& Event() const; + inline const TLogSmsPduData& SmsPDUData() const; + +protected: + + void DoCancel(); + +private: + CSmsEventLogger(TInt aPriority); + void ConstructL(RFs& aFs); + void DoRunL(); + void DoAddEventL(const CSmsMessage& aSmsMessage,TInt* aStatusId); + void SetDataL(const CSmsMessage& aSmsMessage,TInt* aStatusId, const TTime* aDischargeTime); + void DoComplete(TInt& aStatus); + inline void GetStringL(TDes& aString,TInt aId) const; + +private: + enum TSmsEventLoggerState + { + ESmsEventLoggerIdle, + ESmsEventLoggerGettingEvent, + ESmsEventLoggerAddingEvent, + ESmsEventLoggerChangingEvent, + ESmsEventLoggerDeletingEvent + }; +private: + TSmsEventLoggerState iState; + + CLogWrapper* iLogWrapper; + CLogEvent* iLogEvent; + + TLogSmsPduData iSmsPDUData; + }; + +#include "smsulog.inl" + +#endif