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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__
17 #define __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__
22 #include <mmf/common/mmcaf.h>
23 #include <mmf/common/mmfstandardcustomcommands.h>
28 @deprecated 9.2- Replaced by KUidInterfaceMMFDurationInfoControl2
31 const TUid KUidInterfaceMMFDurationInfoControl = {0x102737C8};
38 const TUid KUidInterfaceMMFDurationInfoControl2 = {0x10273812};
43 enum TMMFDurationInfoMessages
53 The duration state of the controller.
57 EMMFDurationInfoValid, // Duration is known
58 EMMFDurationInfoUnknown, // Invalid response from controller
59 EMMFDurationInfoInfinite, // Clip is of infinite length
64 @deprecated 9.2 - Replaced by MMMFDurationInfoCustomCommandImplementor2
66 Mixin class to be derived from by controller plugins wishing to support the Duration information
69 class MMMFDurationInfoCustomCommandImplementor
74 Is the duration of the clip known? i.e. is the stream infinite?
77 Controller duration information
79 @return TMMFDurationInfo Duration state.
81 virtual TMMFDurationInfo GetDurationInfo(TMMFDurationInfo& aDurationInfo)=0;
86 @deprecated 9.2 - Replaced by CMMFDurationInfoCustomCommandParser2
88 class CMMFDurationInfoCustomCommandParser : public CMMFCustomCommandParserBase
93 Creates a new custom command parser capable of processing duration information controller commands.
96 A reference to the controller plugin that owns this new object.
98 @return A pointer to the object created.
102 IMPORT_C static CMMFDurationInfoCustomCommandParser* NewL(MMMFDurationInfoCustomCommandImplementor& aImplementor);
109 IMPORT_C ~CMMFDurationInfoCustomCommandParser();
112 Handles a request from the client. Called by the controller framework.
115 The message to be handled.
119 void HandleRequest(TMMFMessage& aMessage);
126 A reference to the controller plugin that owns this new object.
129 CMMFDurationInfoCustomCommandParser(MMMFDurationInfoCustomCommandImplementor& aImplementor);
132 Request duration information from the implementor
135 Message for writing results to the client.
137 TInt GetDurationInfo(TMMFMessage& aMessage);
141 MMMFDurationInfoCustomCommandImplementor& iImplementor;
149 Mixin class to be derived from by controller plugins wishing to support the Duration information
152 class MMMFDurationInfoCustomCommandImplementor2
157 Is the duration of the clip known? i.e. is the stream infinite?
160 Controller duration information
162 @return KErrNone or System wide error code
164 virtual TInt GetDurationInfo(TMMFDurationInfo& aDurationInfo)=0;
171 Custom command parser capable of processing duration information controller commands
173 class CMMFDurationInfoCustomCommandParser2 : public CMMFCustomCommandParserBase
178 Creates a new custom command parser capable of processing duration information controller commands.
181 A reference to the controller plugin that owns this new object.
183 @return A pointer to the object created.
187 IMPORT_C static CMMFDurationInfoCustomCommandParser2* NewL(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
194 IMPORT_C ~CMMFDurationInfoCustomCommandParser2();
197 Handles a request from the client. Called by the controller framework.
200 The message to be handled.
204 void HandleRequest(TMMFMessage& aMessage);
211 A reference to the controller plugin that owns this new object.
214 CMMFDurationInfoCustomCommandParser2(MMMFDurationInfoCustomCommandImplementor2& aImplementor);
217 Request duration information from the implementor
220 Message for writing results to the client.
222 TInt GetDurationInfo(TMMFMessage& aMessage);
225 MMMFDurationInfoCustomCommandImplementor2& iImplementor;
228 #endif // SYMBIAN_CAF_V2
230 #endif // __MMF_DURATION_INFO_CUSTOM_COMMANDS_H__