DevTools: consistently use camel case for URL parameter names
[chromium-blink-merge.git] / base / global_descriptors_posix.cc
blob65e795563be7c241f2f697864c1530e52b6d824b
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/global_descriptors_posix.h"
7 #include <vector>
8 #include <utility>
10 #include "base/logging.h"
12 namespace base {
14 // static
15 GlobalDescriptors* GlobalDescriptors::GetInstance() {
16 typedef Singleton<base::GlobalDescriptors,
17 LeakySingletonTraits<base::GlobalDescriptors> >
18 GlobalDescriptorsSingleton;
19 return GlobalDescriptorsSingleton::get();
22 int GlobalDescriptors::Get(Key key) const {
23 const int ret = MaybeGet(key);
25 if (ret == -1)
26 LOG(FATAL) << "Unknown global descriptor: " << key;
27 return ret;
30 int GlobalDescriptors::MaybeGet(Key key) const {
31 for (Mapping::const_iterator
32 i = descriptors_.begin(); i != descriptors_.end(); ++i) {
33 if (i->first == key)
34 return i->second;
37 // In order to make unittests pass, we define a default mapping from keys to
38 // descriptors by adding a fixed offset:
39 return kBaseDescriptor + key;
42 void GlobalDescriptors::Set(Key key, int fd) {
43 for (Mapping::iterator
44 i = descriptors_.begin(); i != descriptors_.end(); ++i) {
45 if (i->first == key) {
46 i->second = fd;
47 return;
51 descriptors_.push_back(std::make_pair(key, fd));
54 void GlobalDescriptors::Reset(const Mapping& mapping) {
55 descriptors_ = mapping;
58 GlobalDescriptors::GlobalDescriptors() {}
60 GlobalDescriptors::~GlobalDescriptors() {}
62 } // namespace base