summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx')
-rw-r--r--portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx62
1 files changed, 0 insertions, 62 deletions
diff --git a/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx b/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
deleted file mode 100644
index 47e2ec1..0000000
--- a/portaudio/bindings/cpp/include/portaudiocpp/AutoSystem.hxx
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX
-#define INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX
-
-// ---------------------------------------------------------------------------------------
-
-#include "portaudiocpp/System.hxx"
-
-// ---------------------------------------------------------------------------------------
-
-namespace portaudio
-{
-
-
- //////
- /// @brief A RAII idiom class to ensure automatic clean-up when an exception is
- /// raised.
- ///
- /// A simple helper class which uses the 'Resource Acquisition is Initialization'
- /// idiom (RAII). Use this class to initialize/terminate the System rather than
- /// using System directly. AutoSystem must be created on stack and must be valid
- /// throughout the time you wish to use PortAudioCpp. Your 'main' function might be
- /// a good place for it.
- ///
- /// To avoid having to type portaudio::System::instance().xyz() all the time, it's usually
- /// a good idea to make a reference to the System which can be accessed directly.
- /// @verbatim
- /// portaudio::AutoSys autoSys;
- /// portaudio::System &sys = portaudio::System::instance();
- /// @endverbatim
- //////
- class AutoSystem
- {
- public:
- AutoSystem(bool initialize = true)
- {
- if (initialize)
- System::initialize();
- }
-
- ~AutoSystem()
- {
- if (System::exists())
- System::terminate();
- }
-
- void initialize()
- {
- System::initialize();
- }
-
- void terminate()
- {
- System::terminate();
- }
- };
-
-
-} // namespace portaudio
-
-// ---------------------------------------------------------------------------------------
-
-#endif // INCLUDED_PORTAUDIO_AUTOSYSTEM_HXX