videoutils_plat/dvrengine_api/inc/ipvideo/MRtpFileWriteObserver.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 16:02:30 +0300
changeset 16 ae43a6765dd5
parent 0 822a42b6c3f1
permissions -rw-r--r--
Revision: 201009 Kit: 201015

/*
* Copyright (c) 2007 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 "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:    Interface for RTP file actions.*
*/




#ifndef MRTPFILEWRITEOBSERVER_H
#define MRTPFILEWRITEOBSERVER_H

//  INCLUDES
#include <e32base.h>

// CONSTANTS
// None

// MACROS
// None

// DATA TYPES
// None

// FORWARD DECLARATIONS
// None

// CLASS DECLARATION

/**
*  RTP file data write observer.
*
*  @lib RtpClipHandler.lib
*  @since Series 60 3.0
*/
class MRtpFileWriteObserver 
    {

public: // Data types

    /**
    * Defines RTP recording params
    */
    class SRtpRecParams
        {
    
    public: // Data

        // Clip full path.
        TPath iClipPath;
        
        // SDP data.
        TPtrC8 iSdpData;
        
        // Service name
        TPtrC iService;
        
        // Program name.
        TPtrC iProgram;
        
        // Post accuisition rule.
        TInt iPostRule;

        // Parental rate.
        TInt iParental;

        // Recording start time in terminal time.
        TTime iStartTime;
        
        // Estimated recording end time in terminal time.
        TTime iEndTime;

        };

    /**
    * Defines save action.
    */
    enum TRtpSaveAction
        {
        ESaveIdle = KErrNotFound,
        ESaveNormal = KErrNone,
        ESaveTimeShift,
        ESavePause,
        ESaveEnd
        };

    /**
    * Defines RTP packet type.
    */
    enum TRtpType
        {
        ERtpNone = KErrNotFound,
        ERtpAudio = 10,
        ERtcpAudio,
        ERtpVideo,
        ERtcpVideo,
        ERtpClipPause,
        ERtpClipEnd,
        ERtpSubTitle,
        ERtcpSubTitle
        };

public: // New methods

    /**
    * Group saved indication.
    * @since Series 60 3.0
    * @return none.
    */
    virtual void GroupSaved() = 0;

    /**
    * Clip handler status of recording.
    * @since Series 60 3.0
    * @param aStatus a status of file writing.
    * @return none.
    */
    virtual void WriteStatus( const TInt aStatus ) = 0;

    };
    
#endif // MRTPFILEWRITEOBSERVER_H

// End of file