OSDLMultimediaRenderer.h

Go to the documentation of this file.
00001 #ifndef OSDL_MULTIMEDIA_RENDERER_H_
00002 #define OSDL_MULTIMEDIA_RENDERER_H_
00003 
00004 
00005 #include "OSDLRenderer.h"             // for inheritance
00006 
00007 #include <string>
00008 
00009 
00010 
00011 namespace OSDL
00012 {
00013 
00014 
00015     namespace Rendering 
00016     {
00017     
00018         
00019         // A video renderer may be used by multimedia renderers.
00020         class VideoRenderer ;
00021         
00022         // An audio renderer may be used by multimedia renderers.
00023         class AudioRenderer ;
00024         
00025                 
00045         class OSDL_DLL MultimediaRenderer : public Renderer
00046         {
00047         
00048         
00049             public:
00050             
00051             
00064                 explicit MultimediaRenderer( bool registerToScheduler = true ) 
00065                     throw( RenderingException ) ;
00066                 
00067                 
00072                 virtual ~MultimediaRenderer() throw() ;
00073             
00074             
00075 
00080                 virtual bool hasVideoRenderer() const throw() ;
00081                 
00082                 
00090                 virtual VideoRenderer & getVideoRenderer() const 
00091                     throw( RenderingException ) ;
00092                 
00093                 
00105                 virtual void setVideoRenderer( 
00106                     VideoRenderer & newVideoRenderer ) throw() ;
00107                 
00108                 
00109                 
00114                 virtual bool hasAudioRenderer() const throw() ;
00115                 
00116                 
00124                 virtual AudioRenderer & getAudioRenderer() const 
00125                     throw( RenderingException ) ;
00126                 
00127                 
00139                 virtual void setAudioRenderer( 
00140                     AudioRenderer & newAudioRenderer ) throw() ;
00141                 
00142                 
00143                 
00161                 virtual void render( 
00162                     Events::RenderingTick currentRenderingTick = 0 ) throw() ;
00163 
00164 
00187                 virtual void renderVideo( 
00188                         Events::RenderingTick currentRenderingTick = 0 ) 
00189                     throw() = 0 ;
00190                 
00191                 
00214                 virtual void renderAudio( 
00215                         Events::RenderingTick currentRenderingTick = 0 ) 
00216                     throw() = 0 ;
00217                 
00218                 
00231                 virtual void onRenderingSkipped( 
00232                     Events::RenderingTick skippedRenderingTick ) throw() ;
00233                 
00234                     
00246                 virtual const std::string toString( 
00247                         Ceylan::VerbosityLevels level = Ceylan::high ) 
00248                     const throw() ;
00249 
00250 
00251 
00252                 
00253                     
00254             protected:
00255             
00256                   
00261                 VideoRenderer * _videoRenderer ;
00262                 
00263                 
00268                 AudioRenderer * _audioRenderer ;
00269                 
00270 
00271             
00272             private:
00273             
00274             
00283                 explicit MultimediaRenderer( 
00284                     const MultimediaRenderer & source ) throw() ;
00285             
00286             
00295                 MultimediaRenderer & operator = ( 
00296                     const MultimediaRenderer & source ) throw() ;
00297                 
00298                 
00299                 
00300         } ;
00301 
00302     }
00303 
00304 }
00305 
00306 
00307 #endif // OSDL_MULTIMEDIA_RENDERER_H_
00308 

Generated on Fri Mar 30 14:46:59 2007 for OSDL by  doxygen 1.5.1