| Index: statsreport/persistent_iterator-win32.h
|
| diff --git a/statsreport/persistent_iterator-win32.h b/statsreport/persistent_iterator-win32.h
|
| deleted file mode 100644
|
| index d35f91e6e1847d49f087fc2c7887f7f078eb16e6..0000000000000000000000000000000000000000
|
| --- a/statsreport/persistent_iterator-win32.h
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -// Copyright 2006-2009 Google Inc.
|
| -//
|
| -// Licensed under the Apache License, Version 2.0 (the "License");
|
| -// you may not use this file except in compliance with the License.
|
| -// You may obtain a copy of the License at
|
| -//
|
| -// http://www.apache.org/licenses/LICENSE-2.0
|
| -//
|
| -// Unless required by applicable law or agreed to in writing, software
|
| -// distributed under the License is distributed on an "AS IS" BASIS,
|
| -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -// See the License for the specific language governing permissions and
|
| -// limitations under the License.
|
| -// ========================================================================
|
| -//
|
| -// Iterator over persisted metrics
|
| -#ifndef OMAHA_STATSREPORT_PERSISTENT_ITERATOR_WIN32_H__
|
| -#define OMAHA_STATSREPORT_PERSISTENT_ITERATOR_WIN32_H__
|
| -
|
| -#include "base/scoped_ptr.h"
|
| -#include "metrics.h"
|
| -#include "const-win32.h"
|
| -
|
| -#include <atlbase.h>
|
| -#include <atlstr.h>
|
| -#include <iterator>
|
| -
|
| -namespace stats_report {
|
| -
|
| -/// Forward iterator for persisted metrics
|
| -class PersistentMetricsIteratorWin32
|
| - : public std::iterator<std::forward_iterator_tag, const MetricBase *> {
|
| -public:
|
| - /// @param app_name see MetricsAggregatorWin32
|
| - explicit PersistentMetricsIteratorWin32(const wchar_t *app_name)
|
| - : state_(kUninitialized),
|
| - is_machine_(false) {
|
| - key_name_.Format(kStatsKeyFormatString, app_name);
|
| - Next();
|
| - }
|
| -
|
| - /// @param app_name see MetricsAggregatorWin32
|
| - /// @param is_machine specifies the registry hive
|
| - PersistentMetricsIteratorWin32(const wchar_t *app_name, bool is_machine)
|
| - : state_(kUninitialized),
|
| - is_machine_(is_machine) {
|
| - key_name_.Format(kStatsKeyFormatString, app_name);
|
| - Next();
|
| - }
|
| -
|
| - /// Constructs the at-end iterator
|
| - PersistentMetricsIteratorWin32() : state_(kUninitialized) {
|
| - }
|
| -
|
| - MetricBase *operator* () {
|
| - return Current();
|
| - }
|
| - MetricBase *operator-> () {
|
| - return Current();
|
| - }
|
| -
|
| - /// Preincrement, we don't implement postincrement because we don't
|
| - /// want to deal with making iterators copyable, comparable etc.
|
| - PersistentMetricsIteratorWin32 &operator++() {
|
| - Next();
|
| -
|
| - return (*this);
|
| - }
|
| -
|
| - /// Compare for equality with o.
|
| - bool equals(const PersistentMetricsIteratorWin32 &o) const {
|
| - // compare equal to self, and end iterators compare equal
|
| - if ((this == &o) || (NULL == current_value_.get() &&
|
| - NULL == o.current_value_.get()))
|
| - return true;
|
| -
|
| - return false;
|
| - }
|
| -
|
| -private:
|
| - MetricBase *Current() {
|
| - DCHECK(current_value_.get());
|
| - return current_value_.get();
|
| - }
|
| -
|
| - enum IterationState {
|
| - kUninitialized,
|
| - kCounts,
|
| - kTimings,
|
| - kIntegers,
|
| - kBooleans,
|
| - kFinished,
|
| - };
|
| -
|
| - /// Walk to the next key/value under iteration
|
| - void Next();
|
| -
|
| - /// Keeps track of which subkey we're iterating over
|
| - IterationState state_;
|
| -
|
| - /// The full path from HKCU to the key we iterate over
|
| - CString key_name_;
|
| -
|
| - /// The top-level key we're iterating over, valid only
|
| - /// after first call to Next().
|
| - CRegKey key_;
|
| -
|
| - /// The subkey we're currently enumerating over
|
| - CRegKey sub_key_;
|
| -
|
| - /// Current value we're indexing over
|
| - DWORD value_index_;
|
| -
|
| - /// Name of the value under the iterator
|
| - CStringA current_value_name_;
|
| -
|
| - /// The metric under the iterator
|
| - scoped_ptr<MetricBase> current_value_;
|
| -
|
| - /// Specifies HKLM or HKCU, respectively.
|
| - bool is_machine_;
|
| -};
|
| -
|
| -inline bool operator == (const PersistentMetricsIteratorWin32 &a,
|
| - const PersistentMetricsIteratorWin32 &b) {
|
| - return a.equals(b);
|
| -}
|
| -
|
| -inline bool operator != (const PersistentMetricsIteratorWin32 &a,
|
| - const PersistentMetricsIteratorWin32 &b) {
|
| - return !a.equals(b);
|
| -}
|
| -
|
| -} // namespace stats_report
|
| -
|
| -#endif // OMAHA_STATSREPORT_PERSISTENT_ITERATOR_WIN32_H__
|
|
|