os/mm/mmlibs/mmfw/inc/mmf/ControllerFramework/mmfdurationinfocustomcommands.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__
    17 #define __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__
    18 
    19 #ifdef SYMBIAN_CAF_V2
    20 
    21 #include <e32base.h>
    22 #include <mmf/common/mmcaf.h>
    23 #include <mmf/common/mmfstandardcustomcommands.h>
    24 
    25 
    26 /**
    27 @publishedAll
    28 @deprecated 9.2- Replaced by KUidInterfaceMMFDurationInfoControl2
    29 */
    30 
    31 const TUid KUidInterfaceMMFDurationInfoControl = {0x102737C8};
    32 
    33 /**
    34 @publishedAll
    35 @released
    36 
    37 The duration state of the controller.
    38 */
    39 enum TMMFDurationInfo
    40 	{
    41 	EMMFDurationInfoValid, 		// Duration is known
    42 	EMMFDurationInfoUnknown,	// Invalid response from controller
    43 	EMMFDurationInfoInfinite,	// Clip is of infinite length
    44 	};
    45 
    46 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
    47 #include <mmf/common/mmfdurationinfocustomcommandsimpl.h>
    48 #include <mmf/common/mmfdurationinfocustomcommandsenums.h>
    49 #endif
    50 
    51 /**
    52 @publishedAll
    53 @deprecated 9.2 - Replaced by MMMFDurationInfoCustomCommandImplementor2
    54 
    55 Mixin class to be derived from by controller plugins wishing to support the Duration information 
    56 custom commands
    57 */
    58 class MMMFDurationInfoCustomCommandImplementor
    59 	{
    60 public:
    61 
    62 	/**
    63 	Is the duration of the clip known? i.e. is the stream infinite?
    64 	
    65 	@param aDurationInfo
    66 		   Controller duration information
    67 		   
    68 	@return TMMFDurationInfo Duration state.
    69 	*/
    70 	virtual TMMFDurationInfo GetDurationInfo(TMMFDurationInfo& aDurationInfo)=0;
    71 	};
    72 
    73 /**
    74 @publishedAll
    75 @deprecated 9.2 - Replaced by CMMFDurationInfoCustomCommandParser2
    76 */
    77 class CMMFDurationInfoCustomCommandParser : public CMMFCustomCommandParserBase
    78 	{
    79 public:
    80 
    81 	/**
    82 	Creates a new custom command parser capable of processing duration information controller commands.
    83 
    84 	@param  aImplementor
    85 	        A reference to the controller plugin that owns this new object.
    86 
    87 	@return A pointer to the object created.
    88 
    89 	@since  9.1
    90 	*/
    91 	IMPORT_C static CMMFDurationInfoCustomCommandParser* NewL(MMMFDurationInfoCustomCommandImplementor& aImplementor);
    92 
    93 	/**
    94 	Destructor.
    95 
    96 	@since  9.1
    97 	*/
    98 	IMPORT_C ~CMMFDurationInfoCustomCommandParser();
    99 
   100 	/**
   101 	Handles a request from the client. Called by the controller framework.
   102 
   103 	@param  aMessage
   104 	        The message to be handled.
   105 
   106 	@since  9.1
   107 	*/
   108 	void HandleRequest(TMMFMessage& aMessage);
   109 
   110 private:
   111 	/**
   112 	Constructor.
   113 
   114 	@param  aImplementor
   115 	        A reference to the controller plugin that owns this new object.
   116 	@since  9.1
   117 	*/
   118 	CMMFDurationInfoCustomCommandParser(MMMFDurationInfoCustomCommandImplementor& aImplementor);
   119 	
   120 	/**
   121 	Request duration information from the implementor
   122 
   123 	@param  aMessage
   124 	        Message for writing results to the client.
   125 	*/
   126 	TInt GetDurationInfo(TMMFMessage& aMessage);
   127 
   128 private:
   129 
   130 	MMMFDurationInfoCustomCommandImplementor& iImplementor;
   131 	
   132 	};
   133 
   134 #endif // SYMBIAN_CAF_V2
   135 
   136 #endif // __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__
   137