Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1997)

Unified Diff: chrome/browser/invalidation/invalidation_logger.h

Issue 255273002: First step towards invalidations componentization (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase to fix merge conflict Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/invalidation/invalidation_logger.h
diff --git a/chrome/browser/invalidation/invalidation_logger.h b/chrome/browser/invalidation/invalidation_logger.h
deleted file mode 100644
index befaa4c708c06059b1240fb212d47b34c57c0680..0000000000000000000000000000000000000000
--- a/chrome/browser/invalidation/invalidation_logger.h
+++ /dev/null
@@ -1,101 +0,0 @@
-// Copyright 2014 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.
-
-#ifndef CHROME_BROWSER_INVALIDATION_INVALIDATION_LOGGER_H_
-#define CHROME_BROWSER_INVALIDATION_INVALIDATION_LOGGER_H_
-
-#include <map>
-#include <set>
-
-#include "base/memory/scoped_ptr.h"
-#include "base/observer_list.h"
-#include "sync/notifier/invalidation_util.h"
-#include "sync/notifier/invalidator_state.h"
-
-namespace base {
-class DictionaryValue;
-} // namespace base
-
-namespace syncer {
-class InvalidationHandler;
-class ObjectIdInvalidationMap;
-} // namespace syncer
-
-namespace invalidation {
-
-class InvalidationLoggerObserver;
-
-// This class is in charge of logging invalidation-related information.
-// It is used store the state of the InvalidatorService that owns this object
-// and then rebroadcast it to observers than can display it accordingly
-// (like a debugging page). This class only stores lightweight state, as in
-// which services are registered and listening for certain objects, and the
-// status of the InvalidatorService (in order not to increase unnecesary
-// memory usage).
-//
-// Observers can be registered and will be called to be notified of any
-// status change immediatly. They can log there the history of what messages
-// they receive.
-
-class InvalidationLogger {
-
- public:
- InvalidationLogger();
- ~InvalidationLogger();
-
- // Pass through to any registered InvalidationLoggerObservers.
- // We will do local logging here too.
- void OnRegistration(const std::string& details);
- void OnUnregistration(const std::string& details);
- void OnStateChange(const syncer::InvalidatorState& new_state);
- void OnUpdateIds(std::map<std::string, syncer::ObjectIdSet> updated_ids);
- void OnDebugMessage(const base::DictionaryValue& details);
- void OnInvalidation(const syncer::ObjectIdInvalidationMap& details);
-
- // Triggers messages to be sent to the Observers to provide them with
- // the current state of the logging.
- void EmitContent();
-
- // Add and remove observers listening for messages.
- void RegisterObserver(InvalidationLoggerObserver* debug_observer);
- void UnregisterObserver(InvalidationLoggerObserver* debug_observer);
- bool IsObserverRegistered(InvalidationLoggerObserver* debug_observer);
-
- private:
- // Send to every Observer a OnStateChange event with the latest state.
- void EmitState();
-
- // Send to every Observer many OnUpdateIds events, each with one registrar
- // and every objectId it currently has registered.
- void EmitUpdatedIds();
-
- // Send to every Observer a vector with the all the current registered
- // handlers.
- void EmitRegisteredHandlers();
-
- // The list of every observer currently listening for notifications.
- ObserverList<InvalidationLoggerObserver> observer_list_;
-
- // The last InvalidatorState updated by the InvalidatorService.
- syncer::InvalidatorState last_invalidator_state_;
- base::Time last_invalidator_state_timestamp_;
-
- // The map that contains every object id that is currently registered
- // and its owner.
- std::map<std::string, syncer::ObjectIdSet> latest_ids_;
-
- // The map that counts how many invalidations per objectId there has been.
- syncer::ObjectIdCountMap invalidation_count_;
-
- // The name of all invalidatorHandler registered (note that this is not
- // necessarily the same as the keys of latest_ids_, because they might
- // have not registered any object id).
- std::multiset<std::string> registered_handlers_;
-
- DISALLOW_COPY_AND_ASSIGN(InvalidationLogger);
-};
-
-} // namespace invalidation
-
-#endif // CHROME_BROWSER_INVALIDATION_INVALIDATION_LOGGER_H_
« no previous file with comments | « chrome/browser/invalidation/gcm_invalidation_bridge.cc ('k') | chrome/browser/invalidation/invalidation_logger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698