1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef SYNC_SYNCABLE_SYNCABLE_BASE_WRITE_TRANSACTION_H_ 6 #define SYNC_SYNCABLE_SYNCABLE_BASE_WRITE_TRANSACTION_H_ 7 8 #include "sync/base/sync_export.h" 9 #include "sync/syncable/syncable_base_transaction.h" 10 11 namespace syncer { 12 namespace syncable { 13 14 // A base class shared by both ModelNeutralWriteTransaction and 15 // WriteTransaction. 16 class SYNC_EXPORT BaseWriteTransaction : public BaseTransaction { 17 public: 18 virtual void TrackChangesTo(const EntryKernel* entry) = 0; 19 20 protected: 21 BaseWriteTransaction( 22 const tracked_objects::Location location, 23 const char* name, 24 WriterTag writer, 25 Directory* directory); 26 virtual ~BaseWriteTransaction(); 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(BaseWriteTransaction); 30 }; 31 32 } // namespace syncable 33 } // namespace syncer 34 35 #endif // SYNC_SYNCABLE_SYNCABLE_BASE_WRITE_TRANSACTION_H_ 36