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
String
filePath - Path of the file to be locked.Callback
success - Success block to be executed after file is successfully locked.Callback
failure - 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
String
filePath - Path of the file to be locked.int
encryptionPolicy - BayunEncryptionPolicy determines the key for locking.int
keyGenerationPolicy - BayunKeyGenerationPolicy determines the policy to generate the data encryption key.String
groupId - GroupId is required if encryptionPolicy is BayunEncryptionPolicyGroup.Callback
success - Success block to be executed after file is successfully locked.Callback
failure - 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
String
filePath - Path of the file to be unlocked.Callback
success - Success block to be executed after file is successfully unlocked.Callback
failure - 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)