Index: chrome/browser/sync/engine/syncer_command.cc |
=================================================================== |
--- chrome/browser/sync/engine/syncer_command.cc (revision 0) |
+++ chrome/browser/sync/engine/syncer_command.cc (revision 0) |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2009 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. |
+ |
+#include "chrome/browser/sync/engine/syncer_command.h" |
+ |
+#include "chrome/browser/sync/engine/net/server_connection_manager.h" |
+#include "chrome/browser/sync/engine/syncer_session.h" |
+#include "chrome/browser/sync/engine/syncer_status.h" |
+#include "chrome/browser/sync/syncable/directory_manager.h" |
+#include "chrome/browser/sync/util/event_sys-inl.h" |
+#include "chrome/browser/sync/util/sync_types.h" |
+ |
+namespace browser_sync { |
+ |
+SyncerCommand::SyncerCommand() {} |
+SyncerCommand::~SyncerCommand() {} |
+ |
+void SyncerCommand::Execute(SyncerSession *session) { |
idana
2009/09/10 05:44:37
"SyncerSession *session" -> "SyncerSessio* session
|
+ ExecuteImpl(session); |
+ SendNotifications(session); |
+} |
+ |
+void SyncerCommand::SendNotifications(SyncerSession *session) { |
+ syncable::ScopedDirLookup dir(session->dirman(), session->account_name()); |
+ if (!dir.good()) { |
+ LOG(ERROR) << "Scoped dir lookup failed!"; |
+ return; |
+ } |
+ |
+ SyncerStatus status(session); |
+ |
+ if (status.IsDirty()) { |
+ SyncerEvent event = { SyncerEvent::STATUS_CHANGED}; |
+ event.last_session = session; |
+ session->syncer_event_channel()->NotifyListeners(event); |
+ if (status.over_quota()) { |
+ SyncerEvent quota_event = {SyncerEvent::OVER_QUOTA}; |
+ quota_event.last_session = session; |
+ session->syncer_event_channel()->NotifyListeners(quota_event); |
+ } |
+ status.SetClean(); |
+ } |
+ if (status.IsAuthDirty()) { |
+ ServerConnectionEvent event; |
+ event.what_happened = ServerConnectionEvent::STATUS_CHANGED; |
+ event.server_reachable = true; |
+ event.connection_code = HttpResponse::SYNC_AUTH_ERROR; |
+ session->connection_manager()->channel()->NotifyListeners(event); |
+ status.SetAuthClean(); |
+ } |
+} |
+ |
+} // namespace browser_sync |
Property changes on: chrome\browser\sync\engine\syncer_command.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |