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)

results matching ""

    No results matching ""