| Index: webrtc/common.h | 
| diff --git a/webrtc/common.h b/webrtc/common.h | 
| deleted file mode 100644 | 
| index 79db50c5b5ad9f9be7bf1809e5e647f8913bab0d..0000000000000000000000000000000000000000 | 
| --- a/webrtc/common.h | 
| +++ /dev/null | 
| @@ -1,134 +0,0 @@ | 
| -/* | 
| - *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 
| - * | 
| - *  Use of this source code is governed by a BSD-style license | 
| - *  that can be found in the LICENSE file in the root of the source | 
| - *  tree. An additional intellectual property rights grant can be found | 
| - *  in the file PATENTS.  All contributing project authors may | 
| - *  be found in the AUTHORS file in the root of the source tree. | 
| - */ | 
| - | 
| -#ifndef WEBRTC_COMMON_H_ | 
| -#define WEBRTC_COMMON_H_ | 
| - | 
| -#include <map> | 
| - | 
| -#include "webrtc/base/basictypes.h" | 
| -#include "webrtc/base/constructormagic.h" | 
| - | 
| -namespace webrtc { | 
| - | 
| -// Only add new values to the end of the enumeration and never remove (only | 
| -// deprecate) to maintain binary compatibility. | 
| -enum class ConfigOptionID { | 
| -  kMyExperimentForTest, | 
| -  kAlgo1CostFunctionForTest, | 
| -  kTemporalLayersFactory, | 
| -  kNetEqCapacityConfig, | 
| -  kNetEqFastAccelerate, | 
| -  kVoicePacing, | 
| -  kExtendedFilter, | 
| -  kDelayAgnostic, | 
| -  kExperimentalAgc, | 
| -  kExperimentalNs, | 
| -  kBeamforming, | 
| -  kIntelligibility, | 
| -  kEchoCanceller3, | 
| -  kAecRefinedAdaptiveFilter, | 
| -  kLevelControl | 
| -}; | 
| - | 
| -// Class Config is designed to ease passing a set of options across webrtc code. | 
| -// Options are identified by typename in order to avoid incorrect casts. | 
| -// | 
| -// Usage: | 
| -// * declaring an option: | 
| -//    struct Algo1_CostFunction { | 
| -//      virtual float cost(int x) const { return x; } | 
| -//      virtual ~Algo1_CostFunction() {} | 
| -//    }; | 
| -// | 
| -// * accessing an option: | 
| -//    config.Get<Algo1_CostFunction>().cost(value); | 
| -// | 
| -// * setting an option: | 
| -//    struct SqrCost : Algo1_CostFunction { | 
| -//      virtual float cost(int x) const { return x*x; } | 
| -//    }; | 
| -//    config.Set<Algo1_CostFunction>(new SqrCost()); | 
| -// | 
| -// Note: This class is thread-compatible (like STL containers). | 
| -class Config { | 
| - public: | 
| -  // Returns the option if set or a default constructed one. | 
| -  // Callers that access options too often are encouraged to cache the result. | 
| -  // Returned references are owned by this. | 
| -  // | 
| -  // Requires std::is_default_constructible<T> | 
| -  template<typename T> const T& Get() const; | 
| - | 
| -  // Set the option, deleting any previous instance of the same. | 
| -  // This instance gets ownership of the newly set value. | 
| -  template<typename T> void Set(T* value); | 
| - | 
| -  Config(); | 
| -  ~Config(); | 
| - | 
| - private: | 
| -  struct BaseOption { | 
| -    virtual ~BaseOption() {} | 
| -  }; | 
| - | 
| -  template<typename T> | 
| -  struct Option : BaseOption { | 
| -    explicit Option(T* v): value(v) {} | 
| -    ~Option() { | 
| -      delete value; | 
| -    } | 
| -    T* value; | 
| -  }; | 
| - | 
| -  template<typename T> | 
| -  static ConfigOptionID identifier() { | 
| -    return T::identifier; | 
| -  } | 
| - | 
| -  // Used to instantiate a default constructed object that doesn't needs to be | 
| -  // owned. This allows Get<T> to be implemented without requiring explicitly | 
| -  // locks. | 
| -  template<typename T> | 
| -  static const T& default_value() { | 
| -    RTC_DEFINE_STATIC_LOCAL(const T, def, ()); | 
| -    return def; | 
| -  } | 
| - | 
| -  typedef std::map<ConfigOptionID, BaseOption*> OptionMap; | 
| -  OptionMap options_; | 
| - | 
| -  // RTC_DISALLOW_COPY_AND_ASSIGN | 
| -  Config(const Config&); | 
| -  void operator=(const Config&); | 
| -}; | 
| - | 
| -template<typename T> | 
| -const T& Config::Get() const { | 
| -  OptionMap::const_iterator it = options_.find(identifier<T>()); | 
| -  if (it != options_.end()) { | 
| -    const T* t = static_cast<Option<T>*>(it->second)->value; | 
| -    if (t) { | 
| -      return *t; | 
| -    } | 
| -  } | 
| -  return default_value<T>(); | 
| -} | 
| - | 
| -template<typename T> | 
| -void Config::Set(T* value) { | 
| -  BaseOption*& it = options_[identifier<T>()]; | 
| -  delete it; | 
| -  it = new Option<T>(value); | 
| -} | 
| - | 
| -}  // namespace webrtc | 
| - | 
| -#endif  // WEBRTC_COMMON_H_ | 
|  |