diff -r 000000000000 -r e686773b3f54 logsui/EngineInc/CLogsEventData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/EngineInc/CLogsEventData.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,270 @@ +/* +* Copyright (c) 2005 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: +* Contents of Log database's additional Data field +* +*/ + + +#ifndef __Logs_Engine_CLogsEventData_H__ +#define __Logs_Engine_CLogsEventData_H__ + +// INCLUDES +#include +#include "MLogsEventData.h" + + +// FORWARD DECLARATION + +// CLASS DECLARATION + +class CLogsEventData : public CBase, + public MLogsEventData + { + + public: + + /** + * Two-phased constructor. + * + * @param aData LogEvent's additional free format field + * @param aReadMessageParts In case this object needs only to be initialised but + * no need to read actual (e.g. in case data contains packege + * buffer in some other format ) + * @return CLogsEvent object + */ + static CLogsEventData* NewL( const TDesC8 &aData, TBool aReadMessageParts ); + + /** + * Destructor. + */ + virtual ~CLogsEventData(); + + + public: + /** + * ALS flag (Alternate line service). + * + * @return ALS status flag. EFalse if not ALS event, ETrue if ALS event. + */ + TBool ALS() const; + + /** + * CNAP flag (Calling name presentation service). + * + * @return CNAP status flag. EFalse if not CNAP event, ETrue if CNAP event. + */ + TBool CNAP() const; + + /** + * VT flag (Video Telephony). + * + * @return VT status flag. EFalse if not VT event, ETrue if VT event. + */ + TBool VT() const; + + /** + * PoC flag. + * + * @return PoC status flag. EFalse if not PoC event, ETrue if PoC event. + */ + TBool PoC() const; + + /** + * VoIP flag. + * + * @return VoIP status flag. EFalse if not VoIP event, ETrue if VoIP event. + */ + TBool VoIP() const; + + /** + * Data Recived counter. + * + * @return Data received (where applicable). + */ + TInt64 DataReceived() const; + + /** + * URL. + * + * @return URL (where applicable). + */ + TDesC8& Url() const; + + /** + * Profile information (normally used for VoIP profile) + * + * @return Profile data (where applicable). + */ + TDesC8& Profile() const; + + /** + * Additional reference, the Logging application can use to mediate, e.g. reference to PoC call group + * + * @return Additional reference data (where applicable). + */ + TDesC8& Id() const; + + /** + * Data Sent counter. + * + * @return Data sent (where applicable). + */ + TInt64 DataSent() const; + + /** + * Data's type + * + * @return Data's type (where applicable). + */ + TInt Type() const; + + /** + * My address + * + * @return User's own address (My address where applicable). + */ + TDesC8& MyAddress(); + + /** + * Emergency flag. + * + * @return Emergency call flag. EFalse if not emerg call, ETrue if emerg call. + */ + TBool Emerg() const; + + /** + * Parts in sms. + * + * @return Parts in sms, this info is meaningful only for sms events + */ + TInt MsgPartsNumber() const; + +// Sawfish VoIP changes >>>> + /** + * Service ID of this event. + * + * @return Service ID. + */ + TUint32 ServiceId() const; + + /** + * ContactLink of this event. + * + * @param aContactLink after return contains contactlink + * + * @return KErrNone if link was found otherwise KErrNotFound + */ + TInt GetContactLink( TPtrC8& aContactLink ); + + /** + * Returns the unparsed data of the data field. + * + * @return Data field. + */ + TDesC8& DataField() const; +// <<<< Sawfish VoIP changes + + private: + + /** + * C++ default constructor. + */ + CLogsEventData(); + + + CLogsEventData( const TDesC8 &aData ); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL( TBool aReadMessageParts ); + + TBool CheckNonTaggedData(TPtrC8 aDataPtr ); + void CheckTaggedDataL(); + void SetMsgPartsNumber(); + + private: // data + + //Temporary Pointer to Log database datafield reference (TPtrC8 to TDesC8 &) + //NOTE! It is NOT guaranteed that the TDesC8& (and hence iDataFieldPtr we're using to point if) + //is alive longer than during the call the ConstructL. + TPtrC8 iTempDataFieldPtr; + + //contains the raw datafield data, this is stored in order to make + //it possible for extensions to extract that information that they + //need. e.g. there might be identifiers used in the data field that + //the parser in CLogsEventData::CheckTaggedDataL() might not under- + //stand and then the extension could extact the information directly + //from the datafield (by using its own parser). + HBufC8* iDataField; + + // Alternate Line flag + TBool iALS; + + // Calling Name Presentation service flag + TBool iCNAP; + + // Video Telephone flag + TBool iVT; + + // PoC flag + TBool iPoC; + + // VoIP flag + TBool iVoIP; + + //URL + HBufC8* iURL8; + + // + HBufC8* iProfile; + + //Internal ID (can be used to mediate additional Logging application's data) + HBufC8* iId; + + //Flag that indicates whether this is an emegegency related event (i.e emerg call) + TBool iEmerg; + + //Sent and received data where applicable (in bytes) + TInt64 iDataSent; + TInt64 iDataReceived; + + //Datatype + TInt iDataType; + + //My address fields + HBufC8* iMyAddress8; + HBufC* iMyAddress; + + //Message parts. Meaningful only for sms + TInt iMsgPartsNumber; + +// Sawfish VoIP changes --------- + // ServiceID + TUint32 iServiceId; + + /* + * ContactLink + * Own. + */ + HBufC8* iContactLink; +// ------------------------------ + }; + +#endif // __Logs_Engine_CLogsEventData_H__ + + + +// End of File