os/mm/mmlibs/mmfw/inc/mmf/ControllerFramework/mmfdurationinfocustomcommandsimpl.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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_IMPL_H__
    17 #define __MMF_DURATION_INFO_CUSTOM_COMMANDS_IMPL_H__
    18 
    19 #ifdef SYMBIAN_CAF_V2
    20 
    21 /**
    22 @publishedPartner
    23 @released
    24 */
    25 
    26 const TUid KUidInterfaceMMFDurationInfoControl2 = {0x10273812};
    27 	
    28 /**
    29 @publishedPartner
    30 @released
    31 
    32 Mixin class to be derived from by controller plugins wishing to support the Duration information 
    33 custom commands
    34 */
    35 class MMMFDurationInfoCustomCommandImplementor2
    36 	{
    37 public:
    38 
    39 	/**
    40 	Is the duration of the clip known? i.e. is the stream infinite?
    41 	
    42 	@param aDurationInfo
    43 		   Controller duration information
    44 		   
    45 	@return KErrNone or System wide error code
    46 	*/
    47 	virtual TInt GetDurationInfo(TMMFDurationInfo& aDurationInfo)=0;
    48 	};
    49 	
    50 /**
    51 @publishedPartner
    52 @released
    53 
    54 Custom command parser capable of processing duration information controller commands
    55 */
    56 class CMMFDurationInfoCustomCommandParser2 : public CMMFCustomCommandParserBase
    57 	{
    58 public:
    59 
    60 	/**
    61 	Creates a new custom command parser capable of processing duration information controller commands.
    62 
    63 	@param  aImplementor
    64 	        A reference to the controller plugin that owns this new object.
    65 
    66 	@return A pointer to the object created.
    67 
    68 	@since  9.2
    69 	*/
    70 	IMPORT_C static CMMFDurationInfoCustomCommandParser2* NewL(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
    71 
    72 	/**
    73 	Destructor.
    74 
    75 	@since  9.2
    76 	*/
    77 	IMPORT_C ~CMMFDurationInfoCustomCommandParser2();
    78 
    79 	/**
    80 	Handles a request from the client. Called by the controller framework.
    81 
    82 	@param  aMessage
    83 	        The message to be handled.
    84 
    85 	@since  9.2
    86 	*/
    87 	void HandleRequest(TMMFMessage& aMessage);
    88 
    89 private:
    90 	/**
    91 	Constructor.
    92 
    93 	@param  aImplementor
    94 	        A reference to the controller plugin that owns this new object.
    95 	@since  9.2
    96 	*/
    97 	CMMFDurationInfoCustomCommandParser2(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
    98 	
    99 	/**
   100 	Request duration information from the implementor
   101 
   102 	@param  aMessage
   103 	        Message for writing results to the client.
   104 	*/
   105 	TInt GetDurationInfo(TMMFMessage& aMessage);
   106 
   107 private:
   108 	MMMFDurationInfoCustomCommandImplementor2& iImplementor;
   109 	};
   110 
   111 #endif // SYMBIAN_CAF_V2
   112 
   113 #endif // __MMF_DURATION_INFO_CUSTOM_COMMANDS_IMPL_H__
   114