Browse Source

Audio: use public API of the Extension class.

No need to make friends and use underscores.
pull/205/head
Vladimír Vondruš 8 years ago
parent
commit
9ab528809d
  1. 4
      src/Magnum/Audio/Context.cpp
  2. 7
      src/Magnum/Audio/Context.h

4
src/Magnum/Audio/Context.cpp

@ -136,7 +136,7 @@ Context::Context(const Configuration& config) {
/* Add all extensions to a map for faster lookup */
std::unordered_map<std::string, Extension> extensionMap;
for(const Extension& extension: Extension::extensions())
extensionMap.emplace(extension._string, extension);
extensionMap.emplace(extension.string(), extension);
/* Check for presence of extensions */
const std::vector<std::string> extensions = extensionStrings();
@ -144,7 +144,7 @@ Context::Context(const Configuration& config) {
const auto found = extensionMap.find(extension);
if(found != extensionMap.end()) {
_supportedExtensions.push_back(found->second);
_extensionStatus.set(found->second._index);
_extensionStatus.set(found->second.index());
}
}

7
src/Magnum/Audio/Context.h

@ -61,12 +61,13 @@ See also @ref Audio::Extensions namespace, which contain compile-time informatio
about OpenAL extensions.
*/
class MAGNUM_AUDIO_EXPORT Extension {
friend Context;
public:
/** @brief All OpenAL extensions */
static const std::vector<Extension>& extensions();
/** @brief Internal unique extension index */
constexpr std::size_t index() const { return _index; }
/** @brief Extension string */
constexpr const char* string() const { return _string; }
@ -301,7 +302,7 @@ class MAGNUM_AUDIO_EXPORT Context {
* @ref MAGNUM_ASSERT_AUDIO_EXTENSION_SUPPORTED()
*/
bool isExtensionSupported(const Extension& extension) const {
return _extensionStatus[extension._index];
return _extensionStatus[extension.index()];
}
private:

Loading…
Cancel
Save