Location:
mmfurl.h
Link against: mmfstdsourceandsinkplugin.lib
class CMMFUrlSink : public CBase, public MDataSink;
Concrete implementation of a URL data sink.
This class is used only to pass information regarding the URL and IAP into the controller plugin. IT CANNOT BE USED TO WRITE
DATA TO A URL. Each of the MDataSink
APIs are implemented as either returning or leaving with KErrNotSupported as appropriate.
The configuration data for this class is an externalized CMMFUrlParams
object.
MDataSink
- Abstract class representing a data sink
CBase
- Base class for all classes to be instantiated on the heap
CMMFUrlSink
- Concrete implementation of a URL data sink
Defined in CMMFUrlSink
:
BufferFilledL()
, CanCreateSinkBuffer()
, ConstructSinkL()
, CreateSinkBufferL()
, EmptyBufferL()
, IAPId()
, NegotiateL()
, SetSinkDataTypeCode()
, SetSinkPrioritySettings()
, SinkCustomCommand()
, SinkDataTypeCode()
, SinkPauseL()
, SinkPlayL()
, SinkPrimeL()
, SinkStopL()
, SinkThreadLogoff()
, SinkThreadLogon()
, Url()
, UseIAPId()
, ~CMMFUrlSink()
Inherited from CBase
:
Delete()
,
Extension_()
,
operator new()
Inherited from MDataSink
:
DataSinkType()
,
NewSinkL()
inline const TDesC &Url() const;
Returns the URL string.
For example:
http://www.symbian.com/clip/mpg
|
inline TBool UseIAPId() const;
Indicates whether the IAP ID should be used.
|
inline TInt IAPId() const;
Returns the Internet Access Point ID.
|
virtual TFourCC SinkDataTypeCode(TMediaId);
Returns the data type as a fourCC code of the data sink.
This is a pure virtual function that each derrived class must implement.
|
|
virtual TInt SetSinkDataTypeCode(TFourCC, TMediaId);
Sets the data type as a fourCC code for the data sink.
This is a virtual function that each derived class can implement if the data sink supports the ability to have its data type set.
|
|
virtual void EmptyBufferL(CMMFBuffer *aBuffer, MDataSource *aSupplier, TMediaId);
Method called by a MDataSource
to request the data sink to empty aBuffer of data.
This is a pure virtual function that each derived class must implement. This method is used when a data sink is passively waiting for requests from a supplier ie. a data source to empty a buffer. The data sink must call the BufferEmptiedL member on aSupplier when it has emptied the buffer of it's data. The data sink can either make this callback synchronously or asynchronously.
|
virtual void BufferFilledL(CMMFBuffer *aBuffer);
Function called by a data source to pass back a filled buffer to the sink.
This is a pure virtual function that each derived class must implement. This method is used as the callback when the data sink actively requests a supplier ie. a data source to fill a buffer by calling the data sources FillBufferL. When the data sink gets this callback it knows that the buffer has been filled and is ready to be emptied.
|
virtual TBool CanCreateSinkBuffer();
Function to indicate whether the data sink can create a buffer.
This is a pure virtual function that each derived class must implement.
|
virtual CMMFBuffer *CreateSinkBufferL(TMediaId, TBool &aReference);
Returns a buffer created by the data sink.
This is a pure virtual function that each derived class must implement.
|
|
virtual TInt SinkThreadLogon(MAsyncEventHandler &);
Function to 'logon' the data sink to the same thread that sink will be consuming data in.
This method may be required as the thread that the data sink was created in is not always the same thread that the data transfer will take place in. Therefore any thread specific initialisation needs to be performed in the SinkThreadLogon rather than in the creation of the data sink.
This is a virtual function that a derrived data sink can implement if any thread specific initialisation is required and/or the data sink can create any asynchronous events.
|
|
virtual void SinkThreadLogoff();
Function to 'logoff' the data sink from the same thread that sink consumes data in.
This method may be required as the thread that the data sink is deleted in may not be the same thread that the data transfer took place in. Therefore any thread specific releasing of resources needs to be performed in the SinkThreadLogoff rather than in the destructor.
This is a virtual function that a derrived data sink can implement if any thread specific releasing of resources is required.
virtual void NegotiateL(MDataSource &);
Allows the data sink to negotiate with a data source.
This method is required in cases where the settings of data sink are dependant on those of a data source. This is a virtual function that a derrived data sink can implement.
|
virtual void SinkPrimeL();
Function to 'prime' the data sink.
This is a virtual function that a derrived data sink can implement if any data sink specific 'priming' is required.
virtual void SinkPlayL();
Function 'play' the data sink.
This is a virtual function that a derrived data sink can implement if any data sink specific action is required prior to 'playing' ie. the start of data transfer.
virtual void SinkPauseL();
Function to 'pause' the data sink.
This is a virtual function that a derrived data sink can implement if any data sink specific action is required to 'pause'.
virtual void SinkStopL();
Function to 'stop' the data sink.
This is a virtual function that a derrived data sink can implement if any data sink specific action is required to 'stop'
Capability: | MultimediaDD | A process requesting or using this method that has MultimediaDD capability will always have precedence over a process that does not have MultimediaDD. |
virtual void SetSinkPrioritySettings(const TMMFPrioritySettings &);
Sets the sink priority settings.
This is a virtual function that a derrived data sink can implement if a priority mechanism is required to arbitrate between multiple clients trying to access the same resource.
|
virtual void SinkCustomCommand(TMMFMessage &aMessage);
Calls a sink specific custom command.
This is a virtual function that a derrived data sink can implement if it implements any custom commands.
|
private: virtual void ConstructSinkL(const TDesC8 &aInitData);
Performs any sink construction dependant on the sink construction initialisation data aInitData.
This is a pure virtual function that a derrived data sink must implement
|