os/mm/mmlibs/mmfw/inc/mmf/ControllerFramework/mmfdurationinfocustomcommandsimpl.h
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".
 
     8 // Initial Contributors:
 
     9 // Nokia Corporation - initial contribution.
 
    16 #ifndef __MMF_DURATION_INFO_CUSTOM_COMMANDS_IMPL_H__
 
    17 #define __MMF_DURATION_INFO_CUSTOM_COMMANDS_IMPL_H__
 
    26 const TUid KUidInterfaceMMFDurationInfoControl2 = {0x10273812};
 
    32 Mixin class to be derived from by controller plugins wishing to support the Duration information 
 
    35 class MMMFDurationInfoCustomCommandImplementor2
 
    40 	Is the duration of the clip known? i.e. is the stream infinite?
 
    43 		   Controller duration information
 
    45 	@return KErrNone or System wide error code
 
    47 	virtual TInt GetDurationInfo(TMMFDurationInfo& aDurationInfo)=0;
 
    54 Custom command parser capable of processing duration information controller commands
 
    56 class CMMFDurationInfoCustomCommandParser2 : public CMMFCustomCommandParserBase
 
    61 	Creates a new custom command parser capable of processing duration information controller commands.
 
    64 	        A reference to the controller plugin that owns this new object.
 
    66 	@return A pointer to the object created.
 
    70 	IMPORT_C static CMMFDurationInfoCustomCommandParser2* NewL(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
 
    77 	IMPORT_C ~CMMFDurationInfoCustomCommandParser2();
 
    80 	Handles a request from the client. Called by the controller framework.
 
    83 	        The message to be handled.
 
    87 	void HandleRequest(TMMFMessage& aMessage);
 
    94 	        A reference to the controller plugin that owns this new object.
 
    97 	CMMFDurationInfoCustomCommandParser2(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
 
   100 	Request duration information from the implementor
 
   103 	        Message for writing results to the client.
 
   105 	TInt GetDurationInfo(TMMFMessage& aMessage);
 
   108 	MMMFDurationInfoCustomCommandImplementor2& iImplementor;
 
   111 #endif // SYMBIAN_CAF_V2
 
   113 #endif // __MMF_DURATION_INFO_CUSTOM_COMMANDS_IMPL_H__