Fix api name functions for C, replace map with array.
[rtaudio-cdist.git] / RtAudio.h
index 3927ae19e7ac3e2e5d5da3246c7dd79c9ab273f7..976ada06133fb0a470bca0c29553263034460709 100644 (file)
--- a/RtAudio.h
+++ b/RtAudio.h
@@ -61,7 +61,6 @@
 #include <vector>
 #include <stdexcept>
 #include <iostream>
-#include <map>
 
 /*! \typedef typedef unsigned long RtAudioFormat;
     \brief RtAudio data format type.
@@ -286,12 +285,10 @@ class RTAUDIO_DLL_PUBLIC RtAudio
     WINDOWS_WASAPI, /*!< The Microsoft WASAPI API. */
     WINDOWS_ASIO,   /*!< The Steinberg Audio Stream I/O API. */
     WINDOWS_DS,     /*!< The Microsoft Direct Sound API. */
-    RTAUDIO_DUMMY   /*!< A compilable but non-functional API. */
+    RTAUDIO_DUMMY,  /*!< A compilable but non-functional API. */
+    NUM_APIS        /*!< Number of values in this enum. */
   };
 
-  //! Map string identifiers for APIs to enum identifiers and display names
-  typedef std::map< std::string, std::pair<RtAudio::Api, std::string> > ApiNameMap;
-
   //! The public device information structure for returning queried values.
   struct DeviceInfo {
     bool probed;                  /*!< true if the device capabilities were successfully probed. */
@@ -407,7 +404,7 @@ class RTAUDIO_DLL_PUBLIC RtAudio
     the enumerated list values.  Note that there can be more than one
     API compiled for certain operating systems.
   */
-  static const std::vector<RtAudio::Api>& getCompiledApi();
+  static const std::vector<RtAudio::Api>& getCompiledApis();
 
   //! Return the name of a specified compiled audio API.
   /*!
@@ -416,7 +413,7 @@ class RTAUDIO_DLL_PUBLIC RtAudio
     If the API is unknown or not compiled, this function will return
     the empty string.
   */
-  static const std::string& getCompiledApiName( RtAudio::Api api );
+  static const std::string getCompiledApiName( RtAudio::Api api );
 
   //! Return the display name of a specified compiled audio API.
   /*!
@@ -424,7 +421,7 @@ class RTAUDIO_DLL_PUBLIC RtAudio
     If the API is unknown or not compiled, this function will return
     the empty string.
   */
-  static const std::string& getCompiledApiDisplayName( RtAudio::Api api );
+  static const std::string getCompiledApiDisplayName( RtAudio::Api api );
 
   //! Return the compiled audio API having the given name.
   /*!
@@ -618,9 +615,6 @@ class RTAUDIO_DLL_PUBLIC RtAudio
 
  protected:
 
-  //! Storage for API name map
-  static const ApiNameMap apiNames;
-
   //! Storage for compiled API list
   static const std::vector<RtAudio::Api> compiledApis;