Skip to content

VMXFoundry.OfflineObjects.setup

Offline Objects setup function initializes the creation of device database and sync environment. After the setup is successful, the database structure is created without any data in the device database. After the client database is created, subsequent calls to VMXFoundry.OfflineObjects setup initializes the sync environment.

Before performing any offline operation other than drop or reset, invoke either setup() or incrementalSetup() API.

Note: Initial setup (launching after first time installation (after drop or reset)) requires network connection. Subsequent setups can initialize offline environment without network connectivity.

Volt MX Iris (JavaScript)

Signature

VMXFoundry.OfflineObjects.setup(options, successCallback, failureCallback)

Input Parameters

ParameterTypeDescriptionRequired
optionsJSONSetup options such as device database, encryption passphrase and so on.Yes
successCallbackFunctionThe function is invoked on successful setup.Yes
failureCallbackFunctionThe function is invoked on setup failure with the cause of failure as an argument.Yes

Setup Options

Option Type Description Required
deviceDbEncryptionKey String Encryption passphrase must be a string with at least six characters long. For more information, refer to Offline Objects Getting Started Guide.
Note: Not applicable for Mobile Web and Desktop Web channels.
No
treatBooleanFieldValuesAsNumeric Boolean If the treatBooleanFieldValuesAsNumeric key is set to false, all the boolean field values are converted to boolean type (true or false) during upload session or on reading records from local device database. When the option is set to true, fallbacks to default implementation (uploading and reading boolean field values as numeric). By default, the key is set to True.
Note: Supported for iOS and Android from V8 SP4 Fix Pack 102 onwards.
No

Return Type

void

Error Codes

Error CodeError Text
106Claims token is unavailable.

Example

function successCallback(status) {
voltmx.print("Application setup successful");
}

function failureCallback(error) {
voltmx.print("Application setup failed with error:" + error.code);
}
//Encrypt the device database using a passphrase
var options = {
"deviceDbEncryptionKey": "myencryptionpa$$phrase1"
};
VMXFoundry.OfflineObjects.setup(options, successCallback, failureCallback);

Android (Java)

Signature

void <OfflineObjects>.setup(final HashMap<String, object> options, final VMXCallback callback)

Parameters

ParameterTypeDescriptionRequired
optionsHashMap<String, Object>Setup options such as device database, encryption passphrase and so on.Yes
callbackVMXCallbackThe application must implement onSuccess and onFailure methods of VMXCallback interface.Yes

Setup Options

Option Type Description Required
deviceDbEncryptionKey String Encryption passphrase must be a string with at least six characters long. For more information, refer to Offline Objects Getting Started Guide. No
treatBooleanFieldValuesAsNumeric Boolean If the treatBooleanFieldValuesAsNumeric key is set to false, all the boolean field values are converted to boolean type (true or false) during upload session or on reading records from local device database. When the option is set to true, fallbacks to default implementation (uploading and reading boolean field values as numeric). By default, the key is set to True.
Note: Supported for iOS and Android from V8 SP4 Fix Pack 102 onwards.
No

Return Type

void

Error Codes

Error CodeError Text
106Claims token is unavailable.

Example


VoltMXClient sdk = new VoltMXClient();

IVoltMXApplicationSync appSync = sdk.getOfflineObjects();
//Encrypt the device database using a passphrase
HashMap < String, object > options = new HashMap < String, object > ();
options.put("deviceDbEncryptionKey", "myencryptionpa$$phrase1");
appSync.setup(options, new VMXCallback() {
@Override
public void onSuccess(Object object) {
Log.d("Application Setup", "Application setup successful");
}
@Override
public void onFailure(Object error) {
OfflineObjectsException e = (OfflineObjectsException) error;
Log.e("Application Setup", "Application setup failed with error:" + e.getMessage() + "callstack: " + e.getStackTrace());
}
});

iOS (Objective C)

Signature

void <OfflineObjects> setup:(NSDictionary \*) options  
onSuccess:(VMXSuccessCompletionHandler)onSuccess  
onFailure:(VMXFailureCompletionHandler)onFailure;

Parameters

ParameterTypeDescriptionRequired
optionsNSDictionary<NSString*, id>Setup options such as device database, encryption passphrase and so on.Yes
onSuccessVMXSuccessCompletionHandlerThe function is invoked on successful setup.Yes
onFailureVMXFailureCompletionHandlerThe function is invoked on setup failure with the cause of failure as an argument.Yes

Setup Options

Option Type Description Required
deviceDbEncryptionKey NSString Encryption passphrase must be a string with at least six characters long. Refer Offline Objects Getting started Guide for more details. No
treatBooleanFieldValuesAsNumeric Boolean If the treatBooleanFieldValuesAsNumeric key is set to false, all the boolean field values are converted to boolean type (true or false) during upload session or on reading records from local device database. When the option is set to true, fallbacks to default implementation (uploading and reading boolean field values as numeric). By default, the key is set to True.
Note: Supported for iOS and Android from V8 SP4 Fix Pack 102 onwards.
No

Return Type

void

Error Codes

Error CodeError Text
106Claims token is unavailable.

Example

VMXClient _ sdk = [VMXClient sharedClient];
OfflineObjects _ applicationSync = [sdk getOfflineObjects];
//Encrypt the device database using a passphrase
NSMutableDictionary < NSString _ , id > _ options = [NSMutableDictionary new];
[options setobject: @"myencryptionpa$$phrase1"
forKey: @"deviceDbEncryptionKey"
];
VMXSuccessCompletionHandler onSuccess = ^ void(id object) {
NSLog(@"Application setup successful");
};

VMXFailureCompletionHandler onFailure = ^ void(id object) {
NSLog(@"Application setup failed");
};
[applicationSync setup: options onSuccess: onSuccess
onFailure: onFailure
];