Index: sync/internal_api/public/attachments/attachment_service.h |
diff --git a/sync/internal_api/public/attachments/attachment_service.h b/sync/internal_api/public/attachments/attachment_service.h |
index 6ac8cc6993fdbd9f0300c7fd62277122b4c5b1f2..758f960a659b92a6c33fd7518ef6d98b68e7de9b 100644 |
--- a/sync/internal_api/public/attachments/attachment_service.h |
+++ b/sync/internal_api/public/attachments/attachment_service.h |
@@ -14,6 +14,7 @@ |
namespace syncer { |
+class AttachmentStore; |
class SyncData; |
// AttachmentService is responsible for managing a model type's attachments. |
@@ -44,16 +45,6 @@ class SYNC_EXPORT AttachmentService { |
typedef base::Callback<void(const DropResult&)> DropCallback; |
- // The result of a StoreAttachments operation. |
- enum StoreResult { |
- STORE_SUCCESS, // No error, all attachments stored (at least |
- // locally). |
- STORE_UNSPECIFIED_ERROR, // An unspecified error occurred. Some or all |
- // attachments may not have been stored. |
- }; |
- |
- typedef base::Callback<void(const StoreResult&)> StoreCallback; |
- |
// An interface that embedder code implements to be notified about different |
// events that originate from AttachmentService. |
// This interface will be called from the same thread AttachmentService was |
@@ -70,6 +61,11 @@ class SYNC_EXPORT AttachmentService { |
AttachmentService(); |
virtual ~AttachmentService(); |
+ // Return a pointer to the AttachmentStore owned by this object. |
+ // |
+ // May return NULL. |
+ virtual AttachmentStore* GetStore() = 0; |
+ |
// See SyncData::GetOrDownloadAttachments. |
virtual void GetOrDownloadAttachments( |
const AttachmentIdList& attachment_ids, |
@@ -79,12 +75,18 @@ class SYNC_EXPORT AttachmentService { |
virtual void DropAttachments(const AttachmentIdList& attachment_ids, |
const DropCallback& callback) = 0; |
- // Store |attachments| on device and (eventually) upload them to the server. |
+ // Schedules the attachments identified by |attachment_ids| to be uploaded to |
+ // the server. |
+ // |
+ // Assumes the attachments are already in the attachment store. |
+ // |
+ // A request to upload attachments is persistent in that uploads will be |
+ // automatically retried if transient errors occur. |
+ // |
+ // A request to upload attachments does not persist across restarts of Chrome. |
// |
- // Invokes |callback| once the attachments have been written to device |
- // storage. |
- virtual void StoreAttachments(const AttachmentList& attachments, |
- const StoreCallback& callback) = 0; |
+ // Invokes OnAttachmentUploaded on the Delegate (if provided). |
+ virtual void UploadAttachments(const AttachmentIdSet& attachment_ids) = 0; |
}; |
} // namespace syncer |