phoneengine/loghandling/inc/cpeloginfo.h
changeset 0 5f000ab63145
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneengine/loghandling/inc/cpeloginfo.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,369 @@
+/*
+* Copyright (c) 2003-2006 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:  This file contains the header file of the CPELogInfo class.
+*
+*/
+
+#ifndef CPELOGINFO_H
+#define CPELOGINFO_H
+
+
+#include <e32base.h>
+#include <LogsApiConsts.h>
+
+#include "mpedatastore.h"
+
+_LIT( KPELogUnknownText, "Unknown" );
+
+
+/**
+ *  Log info data.
+ *
+ *  @lib loghandling.dll
+ *  @since S60 v5.0
+ */
+class CPELogInfo : public CBase
+    {
+public:
+    //Log Event Type
+    enum TPELogEventType
+        {
+        EPEUnknownEvent = 0,
+        EPEVoiceEvent,
+        EPEVideoCallEvent,
+        EPEEmergecyEvent,
+        EPEVoIPEvent
+        };
+
+    static CPELogInfo* NewL();
+    
+    /**
+    * Destructor.
+    */
+    virtual ~CPELogInfo();
+
+    /**
+     * Save event data. Basic log data existence guaranteed for class.
+     * 
+     * @since S60 v5.0
+     * @param aCallId Identification for call
+     * @param aDataStore Logs datastore
+     */
+    void SetEventData( TInt aCallId, const MPEDataStore& aDataStore );
+
+    /**
+     * Copy event data.
+     * 
+     * @since S60 v5.0
+     * @param aLogInfo Log info to be copied
+     */
+    void CopyL( const CPELogInfo& aLogInfo );
+
+    /**
+     * Restore default values.
+     * 
+     * @since S60 v5.0
+     */
+    void Reset();
+
+    /**
+     * Set the logged event type data,voice.
+     * 
+     * @since S60 v5.0
+     * @param aEventType LogEventType
+     */
+    void SetEventType( TPELogEventType aEventType );
+    
+    /**
+     * The logged event type data,voice.
+     * 
+     * @since S60 v5.0
+     */
+    CPELogInfo::TPELogEventType EventType() const;
+    
+    /**
+     * Set call direction (0=MO/1=MT).
+     * 
+     * @since S60 v5.0
+     * @param aCallDirection Call direction
+     */
+    void SetCallDirection( RMobileCall::TMobileCallDirection aCallDirection );
+    
+    /**
+     * Call direction (0=MO/1=MT).
+     * 
+     * @since S60 v5.0
+     */
+    RMobileCall::TMobileCallDirection CallDirection() const;
+    
+    /**
+     * Set call id.
+     * 
+     * @since S60 v5.0
+     * @param aCallId Call Id
+     */
+    void SetCallId( TInt aCallId );
+    
+    /**
+     * Call id.
+     * 
+     * @since S60 v5.0
+     */
+    TInt CallId() const;
+    
+    /**
+     * Set phone number.
+     * 
+     * @since S60 v5.0
+     * @param aPhoneNumber Phone number
+     */
+    void SetPhoneNumber( const TPEPhoneNumber& aPhoneNumber );
+    
+    /**
+     * Phone number.
+     * 
+     * @since S60 v5.0
+     */
+    const TPEPhoneNumber& PhoneNumber() const;
+    
+    /**
+     * Set firstname + lastname.
+     * 
+     * @since S60 v5.0
+     * @param aName Name
+     */
+    void SetName( const TPEContactName& aName );
+    
+    /**
+     * Firstname + lastname.
+     * 
+     * @since S60 v5.0
+     */
+    const TPEContactName& Name() const;
+    
+    /**
+     * Set call state.
+     * 
+     * @since S60 v5.0
+     * @param aCallState Call state
+     */
+    void SetCallState( TPEState aCallState );
+    
+    /**
+     * Call state.
+     * 
+     * @since S60 v5.0
+     */
+    TPEState CallState() const;
+    
+    /**
+     * Set call duration (seconds).
+     * 
+     * @since S60 v5.0
+     * @param aDuration Call duration
+     */
+    void SetDuration( TTimeIntervalSeconds aDuration );
+    
+    /**
+     * Call duration (seconds).
+     * 
+     * @since S60 v5.0
+     */
+    TTimeIntervalSeconds Duration() const;
+    
+    /**
+     * Set call line.
+     * 
+     * @since S60 v5.0
+     * @param aCurrentLine Current line type
+     */
+    void SetCurrentLine( CCCECallParameters::TCCELineType aCurrentLine );
+    
+    /**
+     * Call line.
+     * 
+     * @since S60 v5.0
+     */
+    CCCECallParameters::TCCELineType CurrentLine() const;
+    
+    /**
+     * Set phone number id.
+     * 
+     * @since S60 v5.0
+     * @param aPhoneNumberId Phone number id type
+     */
+    void SetPhoneNumberId( TPEPhoneNumberIdType aPhoneNumberId );
+    
+    /**
+     * Phone number id.
+     * 
+     * @since S60 v5.0
+     */
+    TPEPhoneNumberIdType PhoneNumberId() const;
+    
+    /**
+     * Set logging indicator.
+     * 
+     * @since S60 v5.0
+     * @param aLoggingEnabled Logging state
+     */
+    void SetLoggingEnabled( TBool aLoggingEnabled );
+    
+    /**
+     * Logging indicator.
+     * 
+     * @since S60 v5.0
+     */
+    TBool LoggingEnabled() const;
+    
+    /**
+     * Set start time.
+     * 
+     * @since S60 v5.0
+     * @param aCallStartTime Call start time
+     */
+    void SetCallStartTime( TTime aCallStartTime );
+    
+    /**
+     * Start time.
+     * 
+     * @since S60 v5.0
+     */
+    TTime CallStartTime() const;
+    
+    /**
+     * Set missed call indicator.
+     * 
+     * @since S60 v5.0
+     * @param aMissedCall Call missed status
+     */
+    void SetMissedCall( TBool aMissedCall );
+    
+    /**
+     * Missed call indicator.
+     * 
+     * @since S60 v5.0
+     */
+    TBool MissedCall() const;
+    
+    /**
+     * Set indication if entry should be completed.
+     * 
+     * @since S60 v5.0
+     * @param aForcedCompletion Force completion state
+     */
+    void SetForcedCompletion( TBool aForcedCompletion );
+    
+    /**
+     * Indication for entry if it should be completed.
+     * 
+     * @since S60 v5.0
+     */
+    TBool ForcedCompletion() const;
+    
+    /**
+     * Set service id for the call.
+     * 
+     * @since S60 v5.0
+     * @param aServiceId Service id
+     */
+    void SetServiceId( TUint32 aServiceId );
+    
+    /**
+     * Service id of the call.
+     * 
+     * @since S60 v5.0
+     */
+    TUint32 ServiceId() const;
+    
+    /**
+     * Set VoIP address.
+     * 
+     * @since S60 v5.0
+     * @param aVoipAddress VoIP address
+     */
+    void SetVoipAddress( const TPEPhoneNumber& aVoipAddress );
+    
+    /**
+     * VoIP address.
+     * 
+     * @since S60 v5.0
+     */
+    const TPEPhoneNumber& VoipAddress() const;
+    
+    /**
+     * Set my address.
+     * 
+     * @since S60 v5.0
+     * @param aMyAddress My address
+     */
+    void SetMyAddress( const TPEPhoneNumber& aMyAddress );
+    
+    /**
+     * My address.
+     * 
+     * @since S60 v5.0
+     */
+    const TPEPhoneNumber& MyAddress() const;
+    
+    /**
+     * Save contact link. Ownership is transferred.
+     * 
+     * @since S60 v5.0
+     * @param aCallId Identification for call
+     * @param aDataStore Logs datastore
+     */
+    void SetContactLink( const HBufC8* aContactLink );
+    
+    /**
+     * Contact link to phonebook.
+     * 
+     * @since S60 v5.0
+     */
+    const HBufC8& ContactLink() const;
+    
+    
+private:
+    CPELogInfo();
+
+    
+private: // data, public because no processing done in this class
+    TPELogEventType iEventType;     // The logged event type data,voice.
+    RMobileCall::TMobileCallDirection iCallDirection;// Call direction (0=MO/1=MT)
+    TInt iCallId;
+    TPEPhoneNumber iPhoneNumber;
+    TPEContactName iName;           // Firstname + Lastname
+    TPEState iCallState;
+    TTimeIntervalSeconds iDuration; // Call duration (seconds)
+    CCCECallParameters::TCCELineType iCurrentLine;       // Call line.
+    TPEPhoneNumberIdType iPhoneNumberId;
+    TBool iLoggingEnabled;          // Logging indicator
+    TTime iCallStartTime;           // Start time
+    TBool iMissedCall;              // Missed call indicator
+    TBool iForcedCompletion;        // indicates that entry should be completed
+    TUint32 iServiceId;             // Service Id for the call  
+    /** voip address of remote party */
+    TPEPhoneNumber iVoipAddress;
+    /** own address during the logged call */
+    TPEPhoneNumber iMyAddress;
+    
+    /**
+     * Contact id/link
+     * Own.
+     */
+    const HBufC8* iContactLink;
+
+    };
+
+#endif // CPELOGINFO_H