virtual void Stop() OVERRIDE;
virtual syncer::ModelType type() const = 0;
virtual syncer::ModelSafeGroup model_safe_group() const = 0;
+ virtual ChangeProcessor* GetChangeProcessor() const OVERRIDE;
virtual std::string name() const OVERRIDE;
virtual State state() const OVERRIDE;
virtual void OnSingleDatatypeUnrecoverableError(
// Record causes of start failure.
virtual void RecordStartFailure(StartResult result);
+ // To allow unit tests to control thread interaction during non-ui startup
+ // and shutdown, use a factory method to create the SharedChangeProcessor.
+ virtual SharedChangeProcessor* CreateSharedChangeProcessor();
+
Profile* profile() const { return profile_; }
private:
// reference).
scoped_refptr<SharedChangeProcessor> shared_change_processor_;
+ // The UserShare to connect the SharedChangeProcessor to. NULL until set in
+ // LoadModels.
+ syncer::UserShare* user_share_;
+
// A weak pointer to the actual local syncable service, which performs all the
// real work. We do not own the object, and it is only safe to access on the
// DataType's thread.