+ /**
+ * Constructor for "full synchronization mode".
+ *
+ * Uses remotePath to retrieve all the data both in local cache and in the remote OC server
+ * when the operation is executed, instead of reusing {@link OCFile} instances.
+ *
+ * Useful for direct synchronization of a single file.
+ *
+ * @param
+ * @param account ownCloud account holding the file.
+ * @param syncFileContents When 'true', transference of data will be started by the
+ * operation if needed and no conflict is detected.
+ * @param context Android context; needed to start transfers.
+ */
+ public SynchronizeFileOperation(
+ String remotePath,
+ Account account,
+ boolean syncFileContents,
+ Context context) {
+
+ mRemotePath = remotePath;
+ mLocalFile = null;
+ mServerFile = null;
+ mAccount = account;
+ mSyncFileContents = syncFileContents;
+ mContext = context;
+ mAllowUploads = true;
+ }
+
+
+ /**
+ * Constructor allowing to reuse {@link OCFile} instances just queried from local cache or
+ * from remote OC server.
+ *
+ * Useful to include this operation as part of the synchronization of a folder
+ * (or a full account), avoiding the repetition of fetch operations (both in local database
+ * or remote server).
+ *
+ * At least one of localFile or serverFile MUST NOT BE NULL. If you don't have none of them,
+ * use the other constructor.
+ *
+ * @param localFile Data of file (just) retrieved from local cache/database.
+ * @param serverFile Data of file (just) retrieved from a remote server. If null,
+ * will be retrieved from network by the operation when executed.
+ * @param account ownCloud account holding the file.
+ * @param syncFileContents When 'true', transference of data will be started by the
+ * operation if needed and no conflict is detected.
+ * @param context Android context; needed to start transfers.
+ */