| Index: chrome_frame/registry_list_preferences_holder.h
|
| diff --git a/chrome_frame/registry_list_preferences_holder.h b/chrome_frame/registry_list_preferences_holder.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3c4ee46956d7034b6a87d00ec2460cb75cd0957b
|
| --- /dev/null
|
| +++ b/chrome_frame/registry_list_preferences_holder.h
|
| @@ -0,0 +1,51 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +// A utility class for accessing and caching registry preferences that take
|
| +// the form of lists of strings.
|
| +// TODO(robertshield): Use the RegistryWatcher stuff to keep this list up to
|
| +// date.
|
| +
|
| +#ifndef CHROME_FRAME_REGISTRY_LIST_PREFERENCES_HOLDER_H_
|
| +#define CHROME_FRAME_REGISTRY_LIST_PREFERENCES_HOLDER_H_
|
| +#pragma once
|
| +
|
| +#include <windows.h>
|
| +
|
| +#include <vector>
|
| +
|
| +#include "base/string16.h"
|
| +
|
| +class RegistryListPreferencesHolder {
|
| + public:
|
| + RegistryListPreferencesHolder();
|
| +
|
| + // Initializes the RegistryListPreferencesHolder using the values stored
|
| + // under the key |list_name| stored at |registry_path| under |hive|.
|
| + void Init(HKEY hive,
|
| + const wchar_t* registry_path,
|
| + const wchar_t* list_name);
|
| +
|
| + bool Valid() const { return valid_; }
|
| +
|
| + // Returns true iff |string| matches any of the strings in values_, using the
|
| + // matching logic in base's MatchPattern().
|
| + bool ListMatches(const string16& string) const;
|
| +
|
| + // Manually add a string to values_ for testing purposes.
|
| + void AddStringForTesting(const string16& string);
|
| +
|
| + // Reset the holder causing it to be re-initialized, for testing purposes
|
| + // only.
|
| + // TODO(robertshield): Remove this once the RegistryWatcher stuff is wired up.
|
| + void ResetForTesting();
|
| +
|
| + private:
|
| + std::vector<string16> values_;
|
| + bool valid_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(RegistryListPreferencesHolder);
|
| +};
|
| +
|
| +#endif // CHROME_FRAME_REGISTRY_LIST_PREFERENCES_HOLDER_H_
|
|
|