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
Scene.h
Go to the documentation of this file.
1 //
2 // C++ Interface: Audio::Scene
3 //
4 #ifndef __AUDIO_SCENE_H__INCLUDED__
5 #define __AUDIO_SCENE_H__INCLUDED__
6 
7 #include "Exceptions.h"
8 #include "Types.h"
9 
10 namespace Audio {
11 
12  // Forward declarations
13  class Source;
14  class Listener;
15 
16 
30  class Scene
31  {
32  std::string name;
33 
34  protected:
36  Scene(const std::string &name) throw();
37 
38  public:
39  virtual ~Scene();
40 
41  const std::string& getName() const throw() { return name; }
42 
46  virtual void add(SharedPtr<Source> source) throw(Exception) = 0;
47 
51  virtual void remove(SharedPtr<Source> source) throw(NotFoundException) = 0;
52 
54  virtual Listener& getListener() throw() = 0;
55  };
56 
57 };
58 
59 #endif//__AUDIO_SCENE_H__INCLUDED__