#ifndef SYNC_INTERNAL_API_PUBLIC_ENGINE_PASSIVE_MODEL_WORKER_H_
#define SYNC_INTERNAL_API_PUBLIC_ENGINE_PASSIVE_MODEL_WORKER_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "sync/base/sync_export.h"
#include "sync/internal_api/public/engine/model_safe_worker.h"
#include "sync/internal_api/public/util/syncer_error.h"
namespace syncer {
class SYNC_EXPORT PassiveModelWorker : public ModelSafeWorker {
public:
explicit PassiveModelWorker(const base::MessageLoop* sync_loop,
WorkerLoopDestructionObserver* observer);
virtual void RegisterForLoopDestruction() OVERRIDE;
virtual ModelSafeGroup GetModelSafeGroup() OVERRIDE;
protected:
virtual SyncerError DoWorkAndWaitUntilDoneImpl(
const WorkCallback& work) OVERRIDE;
private:
virtual ~PassiveModelWorker();
const base::MessageLoop* const sync_loop_;
DISALLOW_COPY_AND_ASSIGN(PassiveModelWorker);
};
}
#endif