Chromium Code Reviews| 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 |