Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

# Modules/SoundControl/SoundControl.h

Go to the documentation of this file.

    00001 /**
    00002 * @file SoundControl.h
    00003 *
    00004 * Implementation of class SoundControl.
    00005 *
    00006 * @author <a href="mailto:Oliver.Giese@uni-dortmund.de">Oliver Giese</a>
    00007 * @author <a href="mailto:matthias.hebbel@uni-dortmund.de">Matthias Hebbel</a>
    00008 */
    00009
    00010 #ifndef __SoundControl_h_
    00011 #define __SoundControl_h_
    00012
    00013 #include "Tools/Module/Module.h"
    00014
    00015 #include "Representations/Sound/SoundRequest.h"
    00016 #include "Representations/Sound/SoundData.h"
    00017
    00018 /**
    00019 * @class SoundControlInterfaces
    00020 *
    00021 * Interfaces of the SoundControl module.
    00022 */
    00023 class SoundControlInterfaces
    00024 {
    00025 public:
    00026   /** Constructor */
    00027   SoundControlInterfaces(const SoundRequest& soundRequest,
    00028     SoundData& soundData)
    00029     : soundRequest(soundRequest),
    00030     soundData(soundData)
    00031   {};
    00032 protected:
    00033   /** A request from the behavior control to play a specific sound */
    00034   const SoundRequest& soundRequest;
    00035
    00036   /** The sound data to be generated */
    00037   SoundData& soundData;
    00038 };
    00039
    00040 /**
    00041 * @class SoundControl
    00042 *
    00043 * A generic class for SoundControl modules.
    00044 *
    00045 * SoundControl is responsible for generating audio data.
    00046 */
    00047 class SoundControl : public Module, public SoundControlInterfaces
    00048 {
    00049 public:
    00050 /*
    00051 * Constructor.
    00052 * @param interfaces The paramters of the SoundControl module.
    00053   */
    00054   SoundControl(const SoundControlInterfaces& interfaces)
    00055     : SoundControlInterfaces(interfaces)
    00056   {}
    00057
    00058   /** Destructor */
    00059   virtual ~SoundControl() {}
    00060 };
    00061
    00062 #endif //__SoundControl_h_