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
| Parameter | Type | Description | Required |
| options | JSON | Setup options such as device database, encryption passphrase and so on. | Yes |
| successCallback | Function | The function is invoked on successful setup. | Yes |
| failureCallback | Function | The 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 Code | Error Text |
| 106 | Claims 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
| Parameter | Type | Description | Required |
| options | HashMap<String, Object> | Setup options such as device database, encryption passphrase and so on. | Yes |
| callback | VMXCallback | The 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 Code | Error Text |
| 106 | Claims 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
| Parameter | Type | Description | Required |
| options | NSDictionary<NSString*, id> | Setup options such as device database, encryption passphrase and so on. | Yes |
| onSuccess | VMXSuccessCompletionHandler | The function is invoked on successful setup. | Yes |
| onFailure | VMXFailureCompletionHandler | The 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 Code | Error Text |
| 106 | Claims 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
];