www.pudn.com > Audio_Streaming_Example_v1_0.zip > AudioStreamView.h
/* * ============================================================================ * Name : CAudioStreamView from AudioStreamView.h * Part of : AudioStream * Created : 24.11.2003 by Nokia Forum * Description: * Declares container control for application. * Version : * Copyright: Nokia Corporation * ============================================================================ */ #ifndef AUDIOSTREAMVIEW_H #define AUDIOSTREAMVIEW_H // INCLUDES #include#include // for example label control #include "AudioStreamEngine.h" // FORWARD DECLARATIONS class CAudioStreamEngine; // CLASS DECLARATION /** * CAudioStreamView container control class. * */ class CAudioStreamView : public CCoeControl, MCoeControlObserver { public: /*! * NewL() * * discussion Create new CAudioStreamView object, being able to draw * itself into aRect * * param aRect the rectangle this view will be drawn to * param aEngine the engine which core logic is used by this simple view * return a pointer to the created instance of CAudioStreamView */ static CAudioStreamView* NewL(const TRect& aRect, CAudioStreamEngine* aEngine); /*! * NewLC() * * discussion Create new CAudioStreamView object, being able to draw * itself into aRect * * param aRect the rectangle this view will be drawn to * return a pointer to the created instance of CAudioStreamView * which has also been pushed to cleanup stack */ static CAudioStreamView* NewLC(const TRect& aRect, CAudioStreamEngine* aEngine); /*! * ~CAudioStreamView() * * discussion Destroy the object and release all memory objects */ ~CAudioStreamView(); public: // New functions /*! * ShowMessageL() * * discussion Displays application messages for user * * param aMsg text to be displayed */ void ShowMessageL(const TDesC& /* aMsg */); public: // Functions from base classes private: // Basic two-phase EPOC constructors /*! * ConstructL() * * discussion Perform the second phase construction of a CAudioStreamView * object * * param aRect Frame rectangle for container. */ void ConstructL(const TRect& aRect, CAudioStreamEngine* aEngine); /*! * CAudioStreamView() * * discussion Perform the first phase of two phase construction */ CAudioStreamView(); private: // Functions from base classes /** * From CoeControl,SizeChanged. */ void SizeChanged(); /** * From CoeControl,CountComponentControls. */ TInt CountComponentControls() const; /** * From CCoeControl,ComponentControl. */ CCoeControl* ComponentControl(TInt aIndex) const; /** * From CCoeControl,Draw. */ void Draw(const TRect& aRect) const; /** * From MCoeControlObserver * Acts upon changes in the hosted control's state. * * param aControl the control changing its state * param aEventType the type of control event */ void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); private: // New functions private: // data members // Reference for engine object CAudioStreamEngine* iEngine; // Label displaying the application messages to user CEikLabel* iLabel; }; #endif // End of File