5.1 File Locking/Unlocking
5.1.1 Lock File
The lockFile method of BayunCore class locks a file with default encryption-policy dictated by server settings.
- Parameters
StringfilePath - Path of the file to be locked.Callbacksuccess - Success block to be executed after file is successfully locked.Callbackfailure - Failure block to be executed if locking fails, returns BayunError.
The file at the given file path is overwritten with the locked file. If file locking fails original file is not changed.
Java
Kotlin
String fileURL = file.getAbsolutePath();
// Callbacks for locking a file
Handler.Callback success = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
Log.d(TAG, "File locked successfully.");
return false;
}
}
Handler.Callback failure = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
String error = message.getData().getString("BayunError", "");
if (error.equalsIgnoreCase(BayunError.ERROR_INTERNET_CONNECTION)) {
} else if (error.equalsIgnoreCase(BayunError.ERROR_ENCRYPTION_FAILED)) {
}
return false;
}
};
bayunCore.lockFile(fileURL, success, failure);
val fileURL = file.getAbsolutePath()
// Callbacks for locking a file
val success = Handler.Callback {
Log.d(TAG, "File locked successfully.")
false
}
val failure = Handler.Callback {
val error = it.data.getString("BayunError", "")
if (error == BayunError.ERROR_INTERNET_CONNECTION) {
} else if (error == BayunError.ERROR_ENCRYPTION_FAILED) {
}
false
}
bayunCore.lockFile(fileURL, success, failure)
5.1.2 Lock File with encryption-policy
The lockFile method with encryption-policy as an optional parameter locks file with the encryption key dictated by the policy.
- Parameters
StringfilePath - Path of the file to be locked.intencryptionPolicy - BayunEncryptionPolicy determines the key for locking.intkeyGenerationPolicy - BayunKeyGenerationPolicy determines the policy to generate the data encryption key.StringgroupId - GroupId is required if encryptionPolicy is BayunEncryptionPolicyGroup.Callbacksuccess - Success block to be executed after file is successfully locked.Callbackfailure - Failure block to be executed if locking fails, returns BayunError.
Java
Kotlin
String fileURL = file.getAbsolutePath();
int encryptionPolicy = BayunCore.ENCRYPTION_POLICY_COMPANY;
int keyGenerationPolicy = BayunCore.KEY_GENERATION_POLICY_ENVELOPE;
String groupId = "groupId";
// Callbacks for locking a file
Handler.Callback success = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
Log.d(TAG, "File locked successfully.");
return false;
}
}
Handler.Callback failure = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
String error = message.getData().getString("BayunError", "");
if (error.equalsIgnoreCase(BayunError.ERROR_INTERNET_CONNECTION)) {
} else if (error.equalsIgnoreCase(BayunError.ERROR_ENCRYPTION_FAILED)) {
}
return false;
}
};
bayunCore.lockFile(fileURL, encryptionPolicy, keyGenerationPolicy, groupId, success, failure);
val fileURL = file.getAbsolutePath()
val encryptionPolicy = BayunCore.ENCRYPTION_POLICY_COMPANY
val keyGenerationPolicy = BayunCore.KEY_GENERATION_POLICY_ENVELOPE
val groupId = "groupId"
// Callbacks for locking a file
val success = Handler.Callback {
Log.d(TAG, "File locked successfully.")
false
}
val failure = Handler.Callback {
val error = it.data.getString("BayunError", "")
if (error == BayunError.ERROR_INTERNET_CONNECTION) {
} else if (error == BayunError.ERROR_ENCRYPTION_FAILED) {
}
false
}
bayunCore.lockFile(fileURL, encryptionPolicy, keyGenerationPolicy, groupId, success, failure)
Note : If encryption-policy is other than BayunEncryptionPolicyGroup then groupId should be nil.
5.1.3 Unlock File
The unlockFile method of BayunCore class unlocks a locked file.
- Parameters
StringfilePath - Path of the file to be unlocked.Callbacksuccess - Success block to be executed after file is successfully unlocked.Callbackfailure - Failure block to be executed if unlocking fails, returns BayunError.
The file at the given file path is overwritten with the unlocked file.
Java
Kotlin
String fileURL = file.getAbsolutePath();
bayunCore.unlockFile(fileURL, success, failure);
// Callbacks for unlocking a file
Handler.Callback success = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
Log.d(TAG, "File unlocked successfully.");
return false;
}
}
Handler.Callback failure = new Handler.Callback() {
@Override
public boolean handleMessage(Message message) {
String error = message.getData().getString("BayunError", "");
if (error.equalsIgnoreCase(BayunError.ERROR_INTERNET_CONNECTION)) {
} else if (error.equalsIgnoreCase(BayunError.ERROR_DECRYPTION_FAILED)) {
}
return false;
}
};
bayunCore.unlockFile(fileURL, success, failure);
val fileURL = file.getAbsolutePath()
val encryptionPolicy = BayunCore.ENCRYPTION_POLICY_COMPANY
val keyGenerationPolicy = BayunCore.KEY_GENERATION_POLICY_ENVELOPE
val groupId = ""
// Callbacks for locking a file
val success = Handler.Callback {
Log.d(TAG, "File locked successfully.")
false
}
val failure = Handler.Callback {
val error = it.data.getString("BayunError", "")
if (error == BayunError.ERROR_INTERNET_CONNECTION) {
} else if (error == BayunError.ERROR_ENCRYPTION_FAILED) {
}
false
}
bayunCore.lockFile(fileURL, encryptionPolicy, keyGenerationPolicy, groupId, success, failure)