Chromium Code Reviews| Index: chrome/browser/sync/engine/syncer_command.h |
| =================================================================== |
| --- chrome/browser/sync/engine/syncer_command.h (revision 0) |
| +++ chrome/browser/sync/engine/syncer_command.h (revision 0) |
| @@ -0,0 +1,44 @@ |
| +// 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. |
| + |
| +#ifndef CHROME_BROWSER_SYNC_ENGINE_SYNCER_COMMAND_H_ |
| +#define CHROME_BROWSER_SYNC_ENGINE_SYNCER_COMMAND_H_ |
| + |
| +#include "base/basictypes.h" |
| + |
| +namespace browser_sync { |
| + |
| +class SyncerSession; |
| + |
| +// Implementation of a simple command pattern intended to be driven by the |
| +// Syncer. SyncerCommand is abstract and all subclasses must |
| +// implement ExecuteImpl(). This is done so that chunks of syncer operation |
| +// can be unit tested. |
| +// |
| +// Example Usage: |
| +// |
| +// SyncerSession session = ...; |
| +// SyncerCommand *cmd = SomeCommandFactory.createCommand(...); |
| +// cmd->Execute(session); |
| +// delete cmd; |
| +// |
| + |
| +class SyncerCommand { |
| + public: |
| + SyncerCommand(); |
| + virtual ~SyncerCommand(); |
| + |
| + // Execute dispatches to a derived class's ExecuteImpl. |
| + void Execute(SyncerSession *session); |
|
idana
2009/09/10 05:44:37
"SyncerSession *session" -> "SyncerSession* sessio
|
| + |
| + // ExecuteImpl is where derived classes actually do work. |
| + virtual void ExecuteImpl(SyncerSession *session) = 0; |
| + private: |
| + void SendNotifications(SyncerSession *session); |
| + DISALLOW_COPY_AND_ASSIGN(SyncerCommand); |
| +}; |
| + |
| +} // namespace browser_sync |
| + |
| +#endif // CHROME_BROWSER_SYNC_ENGINE_SYNCER_COMMAND_H_ |
| Property changes on: chrome\browser\sync\engine\syncer_command.h |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |