Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RenderableListener.h
Go to the documentation of this file.
1 //
2 // C++ Interface: Audio::RenderableListener
3 //
4 #ifndef __AUDIO_RENDERABLELISTENER_H__INCLUDED__
5 #define __AUDIO_RENDERABLELISTENER_H__INCLUDED__
6 
7 #include "Exceptions.h"
8 #include "Types.h"
9 
10 namespace Audio {
11 
12  // Forward declarations
13 
14  class Listener;
15 
16 
31  {
32  private:
33  Listener *listener;
34 
35  protected:
37  RenderableListener(Listener *listener) throw();
38 
39  public:
40  virtual ~RenderableListener();
41 
42  enum UpdateFlags {
43  UPDATE_ALL = 0x0F,
47  UPDATE_GAIN = 0x08
48  };
49 
51  Listener* getListener() const throw() { return listener; }
52 
61  void update(int flags) throw();
62 
63  // The following section contains all the virtual functions that need be implemented
64  // by a concrete class. All are protected, so the interface is independent
65  // of implementations.
66  protected:
67 
69  virtual void updateImpl(int flags) throw(Exception) = 0;
70  };
71 
72 };
73 
74 #endif//__AUDIO_RENDERABLELISTENER_H__INCLUDED__