You Are Here:

Community: Wiki

This page was last modified on 24 June 2008, at 13:28.

MMF Controller API

From Forum Nokia Wiki


MMF Controller API

The MMF controller plug-in API is represented by the CMMFController interface. It is responsible for receiving client requests passed via the application’s side APIs identified in the RMMFController class and then dispatching them further to the lower layers. When instantiated, CMMFController allocates all of the internal plug-in factory objects such as data sources and sinks, format classes, and codecs.

In addition, it establishes a session with the sound device. Every MMF plug-in is implemented as a derivation of CMMFController and must provide implementations to all of its virtual functions.

The declaration of the CMMFController class is found in MMFController.h.

Another important difference marks the existence of synchronous and asynchronous versions of the state-changing methods: PlayL(), PauseL(), and StopL(). The significance of this is such that these requests should be processed asynchronously in the controller while maintaining a synchronous client API.

For example, the Play request must return once playing has commenced and not wait until playing is complete.


virtual void CMMFController::PlayL() = 0;
virtual CMMFController::void PlayL(
TMMFMessage& aMessage); //async
virtual void CMMFController::PauseL() = 0;
virtual void CMMFController::PauseL(
TMMFMessage& aMessage); //async
virtual void CMMFController::StopL() = 0;
virtual void CMMFController::StopL(
TMMFMessage& aMessage); //async

Custom command support at the controller API level is represented by the CustomCommand() handler. A method is also provided that allows adding of custom command parsers. Symbian provides default implementation for the custom command handler to ensure completion of all client/server messages even in the case of an unrecognized request.


virtual void CMMFController::CustomCommand(
TMMFMessage& aMessage)
{aMessage.Complete(KErrNotSupported);};//default implementation
void CMMFController::AddCustomCommandParserL(
CMMFCustomCommandParserBase& aParser);


--

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia 
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwikiE2eforumE2enokiaE2ecomE2findeE78E2ephpE2fInstallingE5fJavaE5fappsE5fandE5fWE52TE5fwidgetsE5fusingE5fsisE5ffilesX qdcZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qdcZtypeQUqfntypeZCommunityContentQ qdcZtypeQUqfntypeZE52esourceQ qdcZtypeQUqfntypeZWebpageQ qdcZtypeQUqfntypeZWikiContentQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZtopicQUqfnTopicZseriesE5f60Q qfnZtypeQUqfntypeZCommunityContentQ qfnZtypeQUqfntypeZE52esourceQ qfnZtypeQUqfntypeZWebpageQ qfnZtypeQUqfntypeZWikiContentQ qfnZuserE5ftagQSxs60X qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX qrdfZtypeQUqfnZE45E78cludedFromGeneralE4cistingsQ qrdfZtypeQUqfntypeZCommunityContentQ qrdfZtypeQUqfntypeZE52esourceQ qrdfZtypeQUqfntypeZWebpageQ qrdfZtypeQUqfntypeZWikiContentQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqrdfsZE52esourceQ