au.com.skytechnologies.skysync
Class SkySync

java.lang.Object
  extended by au.com.skytechnologies.skysync.SkySync

public final class SkySync
extends java.lang.Object


Field Summary
static int DOWNLOAD_UNDERWAY
          Return code to indicate that a download is currently underway against a data object.
static int ERROR_ADD_BINARY_HEADER_FAILED
          Error code to indicate that an error occurred whilst storing the contents of the binary header during an attempt to add a binary file to the repository.
static int ERROR_ALREADY_IDENTIFIED
          Error code to indicate that the user has already been identified.
static int ERROR_ALREADY_PROVISIONED
          Error code to indicate that the engine is already provisioned.
static int ERROR_BAD_CONDITION_SET
          Error code to indicate that the condition set passed in as an argument was invalid.
static int ERROR_BINARY_DOWNLOAD_FAILED
          Error code to indicate that the download of a binary file from the back-end host has failed.
static int ERROR_BINARY_FILE_NOT_FOUND
          Error code to indicate that the source file was not found during an attempt to add a binary file to the repository.
static int ERROR_BINARY_WITH_NO_DATA
          Error code to indicate that a binary file has no associated data.
static int ERROR_BLACKLISTED
          Error code to indicate that the device has been blacklisted.
static int ERROR_CERT_FILE_INVALID
          Error code to indicate that the certificate file was not valid.
static int ERROR_CERT_FILE_NOT_FOUND
          Error code to indicate that the certificate file was not found.
static int ERROR_CERT_WRONG_PASSWORD
          Error code to indicate that the certificate file password was incorrect.
static int ERROR_CONFIGURATION
          Error code indicating a problem in the configuration data.
static int ERROR_DATA_OBJECT_NOT_FOUND
          Error code to indicate that the desired data object could not be found.
static int ERROR_DUPLICATE_ITEM
          Error code to indicate an attempt to insert a duplicate item (in other words, an attempt to create one that already exists).
static int ERROR_ENCRYPTION_HANDSHAKE
          Error code indicating a problem with the encryption handshake.
static int ERROR_ENCRYPTION_MISMATCH
          Error code to indicate that there is a problem in the configuration of encryption parameters.
static int ERROR_EXISTING_BINARY_FILE
          Error code to indicate that a binary file corresponding to a specified physical filename already exists.
static int ERROR_EXISTING_BINARY_NAME
          Error code to indicate that a binary file corresponding to a specified name already exists.
static int ERROR_GENERAL_FAILURE
          Error code to represent a general (unspecified) failure.
static int ERROR_HOST_IF_SETUP_ERROR
          Error code to indicate that there is a problem with the setup of the engine's host interfaces.
static int ERROR_HOST_NOT_AVAILABLE
          Error code to indicate that the host is not available (usually through lack of connectivity).
static int ERROR_IDENTITY_FAILURE
          Error code indicating a general identity failure.
static int ERROR_INITIAL_DATA_LOAD_FAILED
          Error code to indicate that the initial data load failed.
static int ERROR_INVALID_BINARY_HEADERS
          Error code to indicate that an error occurred whilst accessing the binary headers during an attempt to add a binary file to the repository.
static int ERROR_INVALID_PARAMETER
          Error code to indicate that the given parameter was invalid.
static int ERROR_IS_STARTED
          Error code to indicate that the operation could not be completed, because the engine has been started.
static int ERROR_MEAP_IS_DISABLED
          Error code to indicate that the host MEAP is currently disabled.
static int ERROR_MISSING_PARAMETER
          Error code to indicate that one or more mandatory parameters were not supplied.
static int ERROR_NO_CONFIGURATION
          Error code to indicate that no configuration data is available.
static int ERROR_NO_INSTANCES_SELECTED
          Error code to indicate that no profile instances suitable for use with the device could be found (selected).
static int ERROR_NONE
          Return code to indicate that no error occurred.
static int ERROR_NOT_IDENTIFIED
          Error code to indicate that the client has already identified.
static int ERROR_NOT_PROVISIONED
          Error code to indicate that the client is not provisioned.
static int ERROR_NOT_RUNNING
          Error code to indicate that the engine is not currently running, which in the majority of cases means it has not been started.
static int ERROR_NOT_SUPPORTED
          Error code to indicate that a requested operation is not supported on the current platform.
static int ERROR_PERFORMANCE_TEST_ALREADY_RUNNING
          Error code to indicate that a performance test is already currently running.
static int ERROR_PERFORMANCE_TEST_NOT_RUNNING
          Error code to indicate that a performance test is not currently running.
static int ERROR_PERMISSION_FAILURE
          Error code to indicate that a permission was not available to the application.
static int ERROR_PROFILE_DEACTIVATED
          Error code to indicate that the provisioning profile has been deactivated.
static int ERROR_PROFILE_NOT_FOUND
          Error code to indicate that the specified provisioning profile was not found.
static int ERROR_RETRY
          Error code to indicate that more interaction is required.
static int ERROR_SESSION_EXPIRED
          Error code to indicate that the user's credentials have expired on the host.
static int ERROR_STORE_BINARY_DATA_FAILED
          Error code to indicate that an error occurred whilst storing the contents of the binary file during an attempt to add a binary file to the repository.
static int ERROR_TABLE_NOT_FOUND
          Error code to indicate that the desired table could not be found.
static int ERROR_TIMEOUT
          Error code to indicate that a timeout occurred.
static int ERROR_UNCAUGHT_EXCEPTION
          Error code to indicate that an uncaught exception occurred.
static int ERROR_UNKNOWN_BINARY_LOCATION
          Error code to indicate that a binary file corresponding to a specified location could not be found.
static int ERROR_UNKNOWN_BINARY_NAME
          Error code to indicate that a binary file corresponding to a specified name could not be found.
static int ERROR_USER_NOT_FOUND
          Error code to indicate that the user specified during provisioning was not found.
static int INTERNAL_TASK_UNDERWAY
          Return code to indicate that a refresh is currently underway against a data object.
static int NOTHING_UNDERWAY
          Return code to indicate that no synchronization task is currently underway against a data object.
static int PERMISSION_DEVICE_ID
          Permission code to indicate that no device id was available.
static int REFRESH_UNDERWAY
          Return code to indicate that an internal task is currently underway against a data object.
static int SUCCESS
          Return code to represent successful processing.
static int UPLOAD_UNDERWAY
          Return code to indicate that an upload is currently underway against a data object.
 
Method Summary
static void beginTransaction(SkySyncObserver observer)
          Begins a series of related updates, making them atomic.
static void binaryFileAdd(java.util.Hashtable parameters, SkySyncObserver observer)
          Adds a binary file to the repository.
static void binaryFileClassify(java.lang.String name, java.lang.String classificationField, java.lang.String classificationData, SkySyncObserver observer)
          Classifies (or reclassifies) an existing binary file.
static void binaryFileDeleteByClassificationData(java.lang.String classificationField, java.lang.String classificationData, SkySyncObserver observer)
          (Logically) deletes binary files by classification data.
static void binaryFileDeleteByName(java.lang.String name, SkySyncObserver observer)
          (Logically) deletes an existing binary file by name.
static void binaryFileFetchByClassificationData(java.lang.String classificationField, java.lang.String classificationData, SkySyncObserver observer)
          This method works identically to binaryFileSelectByClassificationData(), except that if any of the binary files are flagged as "on demand" and haven't yet been downloaded to the device, an attempt to download them (from the back-end host) will take place before processing proceeds.
static void binaryFileFetchByName(java.lang.String name, SkySyncObserver observer)
          This method works identically to binaryFileSelectByName(), except that if the binary file is flagged as "on demand" and hasn't yet been downloaded to the device, an attempt to download it (from the back-end host) will take place before processing proceeds.
static void binaryFileSelectByClassificationData(java.lang.String classificationField, java.lang.String classificationData, SkySyncObserver observer)
          Selects information about binary files using classification data.
static void binaryFileSelectByName(java.lang.String name, SkySyncObserver observer)
          Selects information about an existing binary file by name.
static void binaryFileSynchronize(SkySyncObserver observer)
          Triggers a synchronization of binary files against the back-end host system.
static void callFunction(java.util.Hashtable parameters, java.util.Hashtable fieldValues, java.util.Hashtable tables, SkySyncObserver observer)
          This method will directly call a SkyMobile function on the SAP host.
static void certificateClear(SkySyncObserver observer)
          Clear any certificate currently stored.
static void certificateLoad(java.lang.String fileName, java.lang.String password, SkySyncObserver observer)
          Load a certificate from a file.
static void checkConnectionToHost(int timeoutMillis, SkySyncObserver observer)
          Check whether there is currently a connection to the host.
static void commitTransaction(SkySyncObserver observer)
          This method will finalise an atomic unit of work, writing it to the database.
static void dataObjectCascadeDelete(java.lang.String dataObjectName, java.lang.String tableName, java.util.Vector conditionSet, boolean cascadeUp, boolean cascadeDown, boolean deleteIndicatorValue, boolean updateTimestamp, java.lang.String timestampValue, SkySyncObserver observer)
          This method will logically delete the records that match the current condition from the local database, and cascade this delete through the data object.
static void dataObjectCascadeDeleteFromDB(java.lang.String dataObjectName, java.lang.String tableName, java.util.Vector conditionSet, SkySyncObserver observer)
          This method will physically delete the records that match the current condition from the local database, and cascade this delete down through the data object.
static void dataObjectCascadeInsert(java.lang.String dataObjectName, java.lang.String tableName, java.util.Hashtable rowValues, boolean cascadeValues, SkySyncObserver observer)
          This method will insert a new record and then cascade this insert up the data object hierarchy until either a pre-existing record or the top of the hierarchy is reached.
static void dataObjectCascadeUpdate(java.lang.String dataObjectName, java.lang.String tableName, java.util.Vector conditionSet, boolean cascadeUp, boolean cascadeDown, java.lang.String timestampValue, SkySyncObserver observer)
          This method will update the records that match the current condition with the new timestamp and delete indicator if specified, and then cascade this update throughout the data object in the specified direction.
static void dataObjectDownload(java.lang.String dataObjectName, SkySyncObserver observer)
          This method triggers a download (first-time fetch) of a data object.
static void dataObjectNames(SkySyncObserver observer)
          This method will return a list of the names for all known data objects, in alphabetical order, to the observer.
static void dataObjectRefresh(java.lang.String dataObjectName, SkySyncObserver observer)
          This method triggers a refresh (delta fetch) of a data object.
static int dataObjectStatus(java.lang.String dataObjectName)
          This method returns the status of any activity currently taking place against the specified data object.
static void dataObjectTableNames(java.lang.String dataObjectName, SkySyncObserver observer)
          This method will return a list of the names of tables encapsulated within a specific data object, to the observer.
static void dataObjectUpload(java.lang.String dataObjectName, SkySyncObserver observer)
          This method triggers an upload (delta send) of a data object.
static void disableAutoLogon(SkySyncObserver observer)
          This method disables the automatic logon functionality by clearing the session key associated with the last logged in user.
static java.lang.String getParameter(java.lang.String parameterKey)
          This method returns the value associated with a named parameter key.
static void identify(java.util.Hashtable parameters, boolean autoLogon, SkySyncObserver observer)
          This method will identify the current user to the SkySync engine, and leverages SkyMobile identity management processing.
static void identify(java.util.Hashtable parameters, SkySyncObserver observer)
          Deprecated. This method will identify the current user to the SkySync engine, and leverages SkyMobile identity management processing. A set of identity parameters is used for transmission of information back and forth. If the caller leaves the parameter set empty, SkySync will populate the parameter set with the names of the fields to be supplied. If the names of the fields to be supplied are known, these can be pre-populated by the caller along with their associated values. SkySync will then respond with an indication of whether or not the supplied credentials are considered valid.

In addition to any input parameters to be passed to SkyMobile identity processing, the following special input parameter values are also permitted:

CONNECTIONMODE (Optional/BlackBerry) - The connection mode to be used when connecting as part part of the identity checking process. Permitted values are BES, BIS-B, DIRECT. If this parameter is present it will override the equivalent setting given in the provisioned configuration.
USEWIFI (Optional/BlackBerry) - Whether or not to use wi-fi for the connection. Permitted values are TRUE/FALSE. If this parameter is present it will override the equivalent setting given in the provisioned configuration.

iOS Method Signature: + (void)identify:(NSMutableDictionary *)parameters observer:(NSObject <SkySyncObserver> *)observer

static boolean isCertificateLoaded()
          This method indicates whether or not a certificate has been loaded.
static boolean isConnectedToHost()
          This method indicates whether or not the SkySync engine currently has a working connection to the back-end (SAP) host.
static boolean isDebugging()
          This method indicates whether the SkySync engine is currently writing debug output to the console.
static boolean isIdentified()
          This method indicates whether a valid user has been identified for use with the SkySync engine.
static boolean isProvisioned()
          This method indicates whether the SkySync engine is currently provisioned.
static boolean isRunning()
          This method indicates whether the SkySync engine is currently ready for use.
static boolean isStarted()
          This method indicates whether the SkySync engine has been started.
static void performanceTestStart(int testId, int instanceId, SkySyncObserver observer)
          This method triggers an upload (delta send) of a data object.
static void performanceTestStop(SkySyncObserver observer)
          This method triggers an upload (delta send) of a data object.
static void performanceTestUpload(SkySyncObserver observer)
          This method triggers an upload of the performance data object.
static void provision(java.util.Hashtable parameters, SkySyncObserver observer)
          This method will prepare the SkySync engine for first-time use.
static void quiesce(SkySyncObserver observer)
          This method will quiesce the SkySync engine, causing it to cease any existing activity and close down all network connections as soon as possible.
static void registerObserver(SkySyncObserver observer)
          Register an observer to receive high-level notifications sent through from the SkySync engine.
static void reset(SkySyncObserver observer)
          This method will reset the SkySync engine back to its initial state (prior to provisioning).
static void rollbackTransaction(SkySyncObserver observer)
          This method will "undo" or roll back a unit of work initiated by a call to beginTransaction, backing out all of the uncommitted changes made to the database by the current thread.
static void setDebugging(boolean debugging)
          Set debugging on or off.
static void start(SkySyncObserver observer)
          This method will start the SkySync engine running.
static void stop(SkySyncObserver observer)
          This method will stop the SkySync engine.
static void stopTableProcess()
          This method stops the current table process that is currently being processed.
static void tableCount(java.lang.String tableName, java.util.Vector conditionSet, SkySyncObserver observer)
          This method will return a count of all rows on the specified table that match a specified condition set.
static void tableDelete(java.lang.String tableName, java.util.Vector conditionSet, SkySyncObserver observer)
          This method will delete all rows on the specified table that match a specified condition set.
static void tableFieldNames(java.lang.String tableName, SkySyncObserver observer)
          This method will return a list with the names of all fields belonging to a table, in database column order, to the observer.
static void tableInsert(java.lang.String tableName, java.util.Hashtable rowValues, boolean overwrite, SkySyncObserver observer)
          This method will add/insert a new row into the specified table, using values passed in by the caller to create the new row, and will optionally overwrite any existing record with the same key.
static void tableInsert(java.lang.String tableName, java.util.Hashtable rowValues, SkySyncObserver observer)
          This method will add/insert a new row into the specified table, using values passed in by the caller to create the new row.
static void tableMassInsert(java.lang.String tableName, java.util.Vector inputRows, boolean overwrite, SkySyncObserver observer)
          This method will add/insert multiple new rows into the specified table, using values passed in by the caller to create the new rows, and will optionally overwrite any existing records with the same keys.
static void tableMassInsert(java.lang.String tableName, java.util.Vector inputRows, SkySyncObserver observer)
          This method will add/insert multiple new rows into the specified table, using values passed in by the caller to create the new rows.
static void tableProcess(java.lang.String tableName, java.util.Vector conditionSet, java.util.Vector ordering, int offset, int limit, SkySyncObserver observer)
          This method will process a number of rows on a table that satisfy a specified set of conditions, notifying the observer with each row to be processed
static void tableProcess(java.lang.String tableName, java.util.Vector conditionSet, java.util.Vector ordering, SkySyncObserver observer)
          This method will process all rows on a table that satisfy a specified set of conditions, notifying the observer with each row to be processed
static void tableSelect(java.lang.String tableName, java.util.Vector conditionSet, java.util.Vector ordering, int offset, int limit, SkySyncObserver observer)
          This method will retrieve a number of rows on a table that satisfy a specified set of conditions.
static void tableSelect(java.lang.String tableName, java.util.Vector conditionSet, java.util.Vector ordering, SkySyncObserver observer)
          This method will retrieve all rows on a table that satisfy a specified set of conditions.
static void tableUpdate(java.lang.String tableName, java.util.Hashtable newRowValues, java.util.Vector conditionSet, boolean updateTimestamp, SkySyncObserver observer)
          This method causes all rows matching a specified condition set to be updated with new values, and additionally provides the option for the timestamp to be updated (or not), and cascading of updates to take place (or not).
static void tableUpdate(java.lang.String tableName, java.util.Hashtable newRowValues, java.util.Vector conditionSet, SkySyncObserver observer)
          This method causes all rows matching a specified condition set to be updated with new values.
static void unquiesce(SkySyncObserver observer)
          This method will unquiesce the SkySync engine after a call to quiesce has been made, allowing it to resume normal operation.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DOWNLOAD_UNDERWAY

public static final int DOWNLOAD_UNDERWAY
Return code to indicate that a download is currently underway against a data object.

See Also:
Constant Field Values

INTERNAL_TASK_UNDERWAY

public static final int INTERNAL_TASK_UNDERWAY
Return code to indicate that a refresh is currently underway against a data object.

See Also:
Constant Field Values

REFRESH_UNDERWAY

public static final int REFRESH_UNDERWAY
Return code to indicate that an internal task is currently underway against a data object.

See Also:
Constant Field Values

UPLOAD_UNDERWAY

public static final int UPLOAD_UNDERWAY
Return code to indicate that an upload is currently underway against a data object.

See Also:
Constant Field Values

NOTHING_UNDERWAY

public static final int NOTHING_UNDERWAY
Return code to indicate that no synchronization task is currently underway against a data object.

See Also:
Constant Field Values

SUCCESS

public static final int SUCCESS
Return code to represent successful processing.

See Also:
Constant Field Values

ERROR_NONE

public static final int ERROR_NONE
Return code to indicate that no error occurred.

See Also:
Constant Field Values

ERROR_GENERAL_FAILURE

public static final int ERROR_GENERAL_FAILURE
Error code to represent a general (unspecified) failure.

See Also:
Constant Field Values

ERROR_ALREADY_IDENTIFIED

public static final int ERROR_ALREADY_IDENTIFIED
Error code to indicate that the user has already been identified.

See Also:
Constant Field Values

ERROR_ALREADY_PROVISIONED

public static final int ERROR_ALREADY_PROVISIONED
Error code to indicate that the engine is already provisioned.

See Also:
Constant Field Values

ERROR_BAD_CONDITION_SET

public static final int ERROR_BAD_CONDITION_SET
Error code to indicate that the condition set passed in as an argument was invalid.

See Also:
Constant Field Values

ERROR_BLACKLISTED

public static final int ERROR_BLACKLISTED
Error code to indicate that the device has been blacklisted.

See Also:
Constant Field Values

ERROR_CONFIGURATION

public static final int ERROR_CONFIGURATION
Error code indicating a problem in the configuration data.

See Also:
Constant Field Values

ERROR_DATA_OBJECT_NOT_FOUND

public static final int ERROR_DATA_OBJECT_NOT_FOUND
Error code to indicate that the desired data object could not be found.

See Also:
Constant Field Values

ERROR_DUPLICATE_ITEM

public static final int ERROR_DUPLICATE_ITEM
Error code to indicate an attempt to insert a duplicate item (in other words, an attempt to create one that already exists).

See Also:
Constant Field Values

ERROR_ENCRYPTION_HANDSHAKE

public static final int ERROR_ENCRYPTION_HANDSHAKE
Error code indicating a problem with the encryption handshake.

See Also:
Constant Field Values

ERROR_ENCRYPTION_MISMATCH

public static final int ERROR_ENCRYPTION_MISMATCH
Error code to indicate that there is a problem in the configuration of encryption parameters.

See Also:
Constant Field Values

ERROR_HOST_IF_SETUP_ERROR

public static final int ERROR_HOST_IF_SETUP_ERROR
Error code to indicate that there is a problem with the setup of the engine's host interfaces. Simultaneous use of more than one back-end host is not permitted in conjunction with the SkySync engine.

See Also:
Constant Field Values

ERROR_HOST_NOT_AVAILABLE

public static final int ERROR_HOST_NOT_AVAILABLE
Error code to indicate that the host is not available (usually through lack of connectivity).

See Also:
Constant Field Values

ERROR_IDENTITY_FAILURE

public static final int ERROR_IDENTITY_FAILURE
Error code indicating a general identity failure.

See Also:
Constant Field Values

ERROR_INVALID_PARAMETER

public static final int ERROR_INVALID_PARAMETER
Error code to indicate that the given parameter was invalid.

See Also:
Constant Field Values

ERROR_IS_STARTED

public static final int ERROR_IS_STARTED
Error code to indicate that the operation could not be completed, because the engine has been started.

See Also:
Constant Field Values

ERROR_MEAP_IS_DISABLED

public static final int ERROR_MEAP_IS_DISABLED
Error code to indicate that the host MEAP is currently disabled.

See Also:
Constant Field Values

ERROR_NO_CONFIGURATION

public static final int ERROR_NO_CONFIGURATION
Error code to indicate that no configuration data is available.

See Also:
Constant Field Values

ERROR_NO_INSTANCES_SELECTED

public static final int ERROR_NO_INSTANCES_SELECTED
Error code to indicate that no profile instances suitable for use with the device could be found (selected).

See Also:
Constant Field Values

ERROR_NOT_IDENTIFIED

public static final int ERROR_NOT_IDENTIFIED
Error code to indicate that the client has already identified.

See Also:
Constant Field Values

ERROR_NOT_PROVISIONED

public static final int ERROR_NOT_PROVISIONED
Error code to indicate that the client is not provisioned.

See Also:
Constant Field Values

ERROR_NOT_RUNNING

public static final int ERROR_NOT_RUNNING
Error code to indicate that the engine is not currently running, which in the majority of cases means it has not been started.

See Also:
Constant Field Values

ERROR_PROFILE_DEACTIVATED

public static final int ERROR_PROFILE_DEACTIVATED
Error code to indicate that the provisioning profile has been deactivated.

See Also:
Constant Field Values

ERROR_PROFILE_NOT_FOUND

public static final int ERROR_PROFILE_NOT_FOUND
Error code to indicate that the specified provisioning profile was not found.

See Also:
Constant Field Values

ERROR_RETRY

public static final int ERROR_RETRY
Error code to indicate that more interaction is required.

See Also:
Constant Field Values

ERROR_TABLE_NOT_FOUND

public static final int ERROR_TABLE_NOT_FOUND
Error code to indicate that the desired table could not be found.

See Also:
Constant Field Values

ERROR_UNCAUGHT_EXCEPTION

public static final int ERROR_UNCAUGHT_EXCEPTION
Error code to indicate that an uncaught exception occurred.

See Also:
Constant Field Values

ERROR_USER_NOT_FOUND

public static final int ERROR_USER_NOT_FOUND
Error code to indicate that the user specified during provisioning was not found.

See Also:
Constant Field Values

ERROR_TIMEOUT

public static final int ERROR_TIMEOUT
Error code to indicate that a timeout occurred.

See Also:
Constant Field Values

ERROR_CERT_FILE_NOT_FOUND

public static final int ERROR_CERT_FILE_NOT_FOUND
Error code to indicate that the certificate file was not found.

See Also:
Constant Field Values

ERROR_CERT_FILE_INVALID

public static final int ERROR_CERT_FILE_INVALID
Error code to indicate that the certificate file was not valid.

See Also:
Constant Field Values

ERROR_CERT_WRONG_PASSWORD

public static final int ERROR_CERT_WRONG_PASSWORD
Error code to indicate that the certificate file password was incorrect.

See Also:
Constant Field Values

ERROR_NOT_SUPPORTED

public static final int ERROR_NOT_SUPPORTED
Error code to indicate that a requested operation is not supported on the current platform.

See Also:
Constant Field Values

ERROR_SESSION_EXPIRED

public static final int ERROR_SESSION_EXPIRED
Error code to indicate that the user's credentials have expired on the host.

See Also:
Constant Field Values

ERROR_INITIAL_DATA_LOAD_FAILED

public static final int ERROR_INITIAL_DATA_LOAD_FAILED
Error code to indicate that the initial data load failed.

See Also:
Constant Field Values

ERROR_MISSING_PARAMETER

public static final int ERROR_MISSING_PARAMETER
Error code to indicate that one or more mandatory parameters were not supplied.

See Also:
Constant Field Values

ERROR_BINARY_FILE_NOT_FOUND

public static final int ERROR_BINARY_FILE_NOT_FOUND
Error code to indicate that the source file was not found during an attempt to add a binary file to the repository.

See Also:
Constant Field Values

ERROR_UNKNOWN_BINARY_NAME

public static final int ERROR_UNKNOWN_BINARY_NAME
Error code to indicate that a binary file corresponding to a specified name could not be found.

See Also:
Constant Field Values

ERROR_UNKNOWN_BINARY_LOCATION

public static final int ERROR_UNKNOWN_BINARY_LOCATION
Error code to indicate that a binary file corresponding to a specified location could not be found.

See Also:
Constant Field Values

ERROR_EXISTING_BINARY_NAME

public static final int ERROR_EXISTING_BINARY_NAME
Error code to indicate that a binary file corresponding to a specified name already exists.

See Also:
Constant Field Values

ERROR_EXISTING_BINARY_FILE

public static final int ERROR_EXISTING_BINARY_FILE
Error code to indicate that a binary file corresponding to a specified physical filename already exists.

See Also:
Constant Field Values

ERROR_INVALID_BINARY_HEADERS

public static final int ERROR_INVALID_BINARY_HEADERS
Error code to indicate that an error occurred whilst accessing the binary headers during an attempt to add a binary file to the repository.

See Also:
Constant Field Values

ERROR_STORE_BINARY_DATA_FAILED

public static final int ERROR_STORE_BINARY_DATA_FAILED
Error code to indicate that an error occurred whilst storing the contents of the binary file during an attempt to add a binary file to the repository.

See Also:
Constant Field Values

ERROR_ADD_BINARY_HEADER_FAILED

public static final int ERROR_ADD_BINARY_HEADER_FAILED
Error code to indicate that an error occurred whilst storing the contents of the binary header during an attempt to add a binary file to the repository.

See Also:
Constant Field Values

ERROR_BINARY_WITH_NO_DATA

public static final int ERROR_BINARY_WITH_NO_DATA
Error code to indicate that a binary file has no associated data.

See Also:
Constant Field Values

ERROR_BINARY_DOWNLOAD_FAILED

public static final int ERROR_BINARY_DOWNLOAD_FAILED
Error code to indicate that the download of a binary file from the back-end host has failed.

See Also:
Constant Field Values

ERROR_PERMISSION_FAILURE

public static final int ERROR_PERMISSION_FAILURE
Error code to indicate that a permission was not available to the application.

See Also:
Constant Field Values

ERROR_PERFORMANCE_TEST_ALREADY_RUNNING

public static final int ERROR_PERFORMANCE_TEST_ALREADY_RUNNING
Error code to indicate that a performance test is already currently running.

See Also:
Constant Field Values

ERROR_PERFORMANCE_TEST_NOT_RUNNING

public static final int ERROR_PERFORMANCE_TEST_NOT_RUNNING
Error code to indicate that a performance test is not currently running.

See Also:
Constant Field Values

PERMISSION_DEVICE_ID

public static final int PERMISSION_DEVICE_ID
Permission code to indicate that no device id was available.

See Also:
Constant Field Values
Method Detail

beginTransaction

public static void beginTransaction(SkySyncObserver observer)
Begins a series of related updates, making them atomic. By default, all updates to SkySync data will be committed to the database immediately. However, calling beginTransaction signals to the SkySync engine that the current thread is beginning a series of related updates that must be committed to the database as an atomic unit of work. Thereafter, all updates to the data made by the calling thread are considered part of the same unit of work, until either commitTransaction or rollbackTransaction is called.

iOS Method Signature: + (void)beginTransaction:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileAdd

public static void binaryFileAdd(java.util.Hashtable parameters,
                                 SkySyncObserver observer)
Adds a binary file to the repository. A set of parameters must be passed that provide information about the binary file to be added. The following parameter values are currently recognised:

NAME (Mandatory) - A unique identifying name for the binary file in the repository. Please note, this is NOT the physical filename. The filename can however be used to identify the binary file, provided it is unique in the repository.
FILEPATH (Optional) - The full pathname to the physical file. Note that this parameter is required unless both the FILENAME and BASE64DATA parameters are provided as an alternative.
FILENAME (Optional) - The physical name of the file (including its extension, if any, but excluding any directory path). This parameter is only required (and only used) if the FILEPATH parameter is not present. BASE64DATA (Optional) - A base 64 encoded string containing the file's actual data. This parameter is only required (and only used) if the FILEPATH parameter is not present. It is intended for use in a scenario where there is no physical file available to assist in creating the binary file. If this parameter is supplied instead of FILEPATH, the binary file will be created using the base 64 encoded data rather than by reading the data from a file. DESCRIPTION (Optional) - A text description of the binary file.
GROUP (Optional) - The group into which the binary file should be placed. Mainly used for primary sorting of binary files during display on the back-end host (binary files are displayed in a hierarchy sorted by group, then category).
CATEGORY (Optional) - The category/type of file. Mainly used for secondary sorting of binary files during display on the back-end host (binary files are displayed in a hierarchy sorted by group, then category). If nothing is specified, the file category will default to "DOCUMENTS".
LOCATION (Optional) - A logical name for the physical location in which the binary file is to reside as part of the repository. Examples include DOCUMENTS (a general-purpose "documents" directory) and INSTALL (the directory in which the application is installed). The available file locations are configured on the back-end host system. If nothing is specified, the file location will default to "DOCUMENTS".
CLASSIFICATIONFIELD (Optional) - A metadata label for the type of information in the classification data. For example, the classification field might be set to "INVOICENUMBER" to indicate that the classification data contains an invoice number. The classification field is optional, as a binary file does not necessarily need to be classified.
CLASSIFICATIONDATA (Optional) - A label, used in conjunction with the classification field, to organise binary files and associate them with data. For example, if we wanted to associate several binary files with invoice number 001234, we might assign a value of "INVOICENUMBER" to their classification field, and the value "001234" to their classification data. The classification data field is optional, as a binary file does not necessarily need to be classified.
KEEPDAYS (Optional) - The number of days for which the binary file should be retained on the back-end host. If nothing is specified, the "keep days" will default to 0 (which means retain indefinitely).
REPLACE (Optional) - Whether or not the binary file should be replaced if one already exists with the same NAME or with the same physical filename in the repository. Permitted values are TRUE/FALSE. If nothing is specified, the replace flag will default to TRUE (and hence any existing binary file with the same NAME or the same physical filename will be replaced).
UPLOAD (Optional) - Whether or not the binary file should be uploaded to the back-end host during synchronization. Permitted values are TRUE/FALSE. If FALSE, the binary file is treated as a local file only and will not be uploaded to the host. If nothing is specified, the upload flag will default to TRUE (and hence will be synchronized against the back-end host).

iOS Method Signature: + (void)binaryFileAdd:(NSMutableDictionary *)parameters observer:(NSObject <SkySyncObserver> *)observer


binaryFileClassify

public static void binaryFileClassify(java.lang.String name,
                                      java.lang.String classificationField,
                                      java.lang.String classificationData,
                                      SkySyncObserver observer)
Classifies (or reclassifies) an existing binary file.

iOS Method Signature: + (void)binaryFileClassify:(NSString *)name classificationField:(NSString *)classificationField classificationData:(NSString *)classificationData observer:(NSObject <SkySyncObserver> *)observer

Parameters:
name - The name of the binary file to be classified.
classificationField - The classification field to be assigned to the binary file.
classificationData - The classification data to be assigned to the binary file.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileDeleteByName

public static void binaryFileDeleteByName(java.lang.String name,
                                          SkySyncObserver observer)
(Logically) deletes an existing binary file by name.

iOS Method Signature: + (void)binaryFileDeleteByName:(NSString *)name observer:(NSObject <SkySyncObserver> *)observer

Parameters:
name - The name of the binary file to be deleted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileDeleteByClassificationData

public static void binaryFileDeleteByClassificationData(java.lang.String classificationField,
                                                        java.lang.String classificationData,
                                                        SkySyncObserver observer)
(Logically) deletes binary files by classification data.

iOS Method Signature: + (void)binaryFileDeleteByClassificationData: (NSString *)classificationField classificationData:(NSString *)classificationData observer:(NSObject <SkySyncObserver> *)observer

Parameters:
classificationField - The classification field value to be targeted when deleting binary files.
classificationData - The classification data value to be targeted when deleting binary files.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileFetchByName

public static void binaryFileFetchByName(java.lang.String name,
                                         SkySyncObserver observer)
This method works identically to binaryFileSelectByName(), except that if the binary file is flagged as "on demand" and hasn't yet been downloaded to the device, an attempt to download it (from the back-end host) will take place before processing proceeds. + (void)binaryFileFetchByName:(NSString *)name observer:(NSObject <SkySyncObserver> *)observer

Parameters:
name - The name of the binary file to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileFetchByClassificationData

public static void binaryFileFetchByClassificationData(java.lang.String classificationField,
                                                       java.lang.String classificationData,
                                                       SkySyncObserver observer)
This method works identically to binaryFileSelectByClassificationData(), except that if any of the binary files are flagged as "on demand" and haven't yet been downloaded to the device, an attempt to download them (from the back-end host) will take place before processing proceeds. iOS Method Signature: + (void)binaryFileFetchByClassificationData: (NSString *)classificationField classificationData:(NSString *)classificationData observer:(NSObject <SkySyncObserver> *)observer

Parameters:
classificationField - The classification field value to be targeted when fetching binary file information.
classificationData - The classification data value to be targeted when fetching binary file information.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileSelectByName

public static void binaryFileSelectByName(java.lang.String name,
                                          SkySyncObserver observer)
Selects information about an existing binary file by name. When successful, the binary file information will be returned as a parameter called BINARYFILEINFO on a FINISH event sent to the observer.

iOS Method Signature: + (void)binaryFileSelectByName:(NSString *)name observer:(NSObject <SkySyncObserver> *)observer

Parameters:
name - The name of the binary file to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileSelectByClassificationData

public static void binaryFileSelectByClassificationData(java.lang.String classificationField,
                                                        java.lang.String classificationData,
                                                        SkySyncObserver observer)
Selects information about binary files using classification data. When successful, an ordered list of binary file information will be returned as a parameter called BINARYFILEINFO on a FINISH event sent to the observer.

iOS Method Signature: + (void)binaryFileSelectByClassificationData: (NSString *)classificationField classificationData:(NSString *)classificationData observer:(NSObject <SkySyncObserver> *)observer

Parameters:
classificationField - The classification field value to be targeted when selecting binary file information.
classificationData - The classification data value to be targeted when selecting binary file information.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

binaryFileSynchronize

public static void binaryFileSynchronize(SkySyncObserver observer)
Triggers a synchronization of binary files against the back-end host system.

iOS Method Signature: + (void)binaryFileSynchronize: (NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

callFunction

public static void callFunction(java.util.Hashtable parameters,
                                java.util.Hashtable fieldValues,
                                java.util.Hashtable tables,
                                SkySyncObserver observer)
This method will directly call a SkyMobile function on the SAP host. A set of parameters must be passed in containing the following:

APPLICATION (Mandatory) - The numeric identifier of the SkyMobile application to be invoked (as a string).
VERSION (Mandatory) - The numeric identifier of the SkyMobile application to be invoked (as a string).
FUNCTION (Mandatory) - The name of the SkyMobile function to be invoked.

SYNCHRONIZE (Optional) - Whether or not to synchronize (serialize) the call with other outstanding calls to the SkySync API. Permitted values are TRUE/FALSE. If no value is given, TRUE is assumed. iOS Method Signature: + (void)callFunction:(NSDictionary *)parameters fieldValues:(NSDictionary *)fieldValues tables:(NSDictionary *)tables observer:(NSObject <SkySyncObserver> *)observer

Parameters:
parameters - A set of parameters that describe which SkyMobile function is to be invoked (as described above).
fieldValues - A set of key/value pairs that specify field values to be passed into the call. Each key should map to the name of a SkyMobile screen field, and the associated value is the input value that the field should assume for the call.
tables - This parameter contains tabular information to be passed into the call. It must be structured as a Hashtable (keyed by SkyMobile table name), with an associated value that is a Vector (representing the rows in the table) of Hashtables (key/value pairs for the columns in the table and their associated values).
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

certificateClear

public static final void certificateClear(SkySyncObserver observer)
Clear any certificate currently stored. iOS Method Signature: + (void)certificateClear:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

certificateLoad

public static final void certificateLoad(java.lang.String fileName,
                                         java.lang.String password,
                                         SkySyncObserver observer)
Load a certificate from a file. iOS Method Signature: + (void)certificateLoad:(NSString *)fileName password:(NSString *)password observer:(NSObject <SkySyncObserver> *)observer

Parameters:
fileName - The name of the file containing the certificate.
password - The password to access the file.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

checkConnectionToHost

public static void checkConnectionToHost(int timeoutMillis,
                                         SkySyncObserver observer)
Check whether there is currently a connection to the host. Differs from isConnectedToHost() in that it actually tests the connection to the host, instead of relying on the current heartbeat connectivity status (which could potentially be stale). If the observer receives an error then this indicates that the host is not available. Otherwise, the host should be considered to be both reachable and ready for use. iOS Method Signature: + (void)checkConnectionToHost:(int)timeoutMillis observer:NSObject <SkySyncObserver> *)observer

Parameters:
timeoutMillis - The maximum number of milliseconds permitted before a timeout occurs (0 or negative means wait indefinitely).
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

commitTransaction

public static void commitTransaction(SkySyncObserver observer)
This method will finalise an atomic unit of work, writing it to the database. After commitTransaction has called, any future updates to the data will again be immediately written to the database, unless/until beginTransaction is called a second time.

iOS Method Signature: + (void)commitTransaction:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectCascadeUpdate

public static void dataObjectCascadeUpdate(java.lang.String dataObjectName,
                                           java.lang.String tableName,
                                           java.util.Vector conditionSet,
                                           boolean cascadeUp,
                                           boolean cascadeDown,
                                           java.lang.String timestampValue,
                                           SkySyncObserver observer)
This method will update the records that match the current condition with the new timestamp and delete indicator if specified, and then cascade this update throughout the data object in the specified direction.

iOS Method Signature: + (void)dataObjectCascadeUpdate:(NSString *)dataObjectName tableName:(NSString *)tableName conditionSet:(NSArray *)conditionSet cascadeUp:(BOOL)cascadeUp cascadeDown:(BOOL)cascadeDown timestampValue:(NSString *)timestampValue observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
tableName - The name of the table in the data object from which the cascade is to begin.
conditionSet - A set of conditions specifying the rows to be updated.
cascadeUp - Whether to cascade up towards the root of the data object hierarchy.
cascadeDown - Whether to cascade downwards to the bottom of the data object hierarchy.
timestampValue - The value to write into the timestamp field.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectCascadeDelete

public static void dataObjectCascadeDelete(java.lang.String dataObjectName,
                                           java.lang.String tableName,
                                           java.util.Vector conditionSet,
                                           boolean cascadeUp,
                                           boolean cascadeDown,
                                           boolean deleteIndicatorValue,
                                           boolean updateTimestamp,
                                           java.lang.String timestampValue,
                                           SkySyncObserver observer)
This method will logically delete the records that match the current condition from the local database, and cascade this delete through the data object.

iOS Method Signature: + (void)dataObjectCascadeDelete:(NSString *)dataObjectName tableName:(NSString *)tableName conditionSet:(NSArray *)conditionSet cascadeUp:(BOOL)cascadeUp cascadeDown:(BOOL)cascadeDown deleteIndicatorValue:(BOOL)deleteIndicatorValue updateTimestamp:(BOOL)updateTimestamp timestampValue:(NSString *)timestampValue observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
tableName - The name of the table in the data object from which the cascade is to begin.
conditionSet - A set of conditions specifying the rows to be updated.
cascadeUp - Whether to cascade up towards the root of the data object hierarchy.
cascadeDown - Whether to cascade downwards to the bottom of the data object hierarchy.
deleteIndicatorValue - The value to write into the delete indicator field.
updateTimestamp - Whether to update the timestamp or not.
timestampValue - The value to write into the timestamp field.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectCascadeDeleteFromDB

public static void dataObjectCascadeDeleteFromDB(java.lang.String dataObjectName,
                                                 java.lang.String tableName,
                                                 java.util.Vector conditionSet,
                                                 SkySyncObserver observer)
This method will physically delete the records that match the current condition from the local database, and cascade this delete down through the data object.

iOS Method Signature: + (void)dataObjectCascadeDeleteFromDB:(NSString *)dataObjectName tableName:(NSString *)tableName conditionSet:(NSArray *)conditionSet observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
tableName - The name of the table in the data object from which the cascade is to begin.
conditionSet - A set of conditions specifying the rows to be updated.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectCascadeInsert

public static void dataObjectCascadeInsert(java.lang.String dataObjectName,
                                           java.lang.String tableName,
                                           java.util.Hashtable rowValues,
                                           boolean cascadeValues,
                                           SkySyncObserver observer)
This method will insert a new record and then cascade this insert up the data object hierarchy until either a pre-existing record or the top of the hierarchy is reached. iOS Method Signature: + (void)dataObjectCascadeInsert:(NSString *)dataObjectName tableName:(NSString *)tableName rowValues:(NSMutableDictionary *)rowValues cascadeValues:(BOOL)cascadeRowValues observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
tableName - The name of the table in the data object from which the cascade is to begin.
rowValues - The values for the new row.
cascadeValues - Whether to use the values provided in rowValues in each new row created in the cascade.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectDownload

public static void dataObjectDownload(java.lang.String dataObjectName,
                                      SkySyncObserver observer)
This method triggers a download (first-time fetch) of a data object.

iOS Method Signature: + (void)dataObjectDownload:(NSString *)dataObjectName observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectNames

public static void dataObjectNames(SkySyncObserver observer)
This method will return a list of the names for all known data objects, in alphabetical order, to the observer.

iOS Method Signature: + (void)dataObjectNames:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectRefresh

public static void dataObjectRefresh(java.lang.String dataObjectName,
                                     SkySyncObserver observer)
This method triggers a refresh (delta fetch) of a data object.

iOS Method Signature: + (void)dataObjectRefresh:(NSString *)dataObjectName observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectStatus

public static int dataObjectStatus(java.lang.String dataObjectName)
This method returns the status of any activity currently taking place against the specified data object.

iOS Method Signature: + (int)dataObjectStatus:(NSString *)dataObjectName

Parameters:
dataObjectName - The name of the data object to be targeted.
Returns:
On success, this routine will return one of the following values: DOWNLOAD_UNDERWAY, REFRESH_UNDERWAY, UPLOAD_UNDERWAY, INTERNAL_TASK_UNDERWAY, or NOTHING_UNDERWAY; on failure, a negative error code is returned instead.

dataObjectTableNames

public static void dataObjectTableNames(java.lang.String dataObjectName,
                                        SkySyncObserver observer)
This method will return a list of the names of tables encapsulated within a specific data object, to the observer. A data object is a hierarchical cluster of tables, and this method provides some insight into which tables a given data object contains.

iOS Method Signature: + (void)dataObjectTableNames:(NSString *)dataObjectName observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

dataObjectUpload

public static void dataObjectUpload(java.lang.String dataObjectName,
                                    SkySyncObserver observer)
This method triggers an upload (delta send) of a data object.

iOS Method Signature: + (void)dataObjectUpload:(NSString *)dataObjectName observer:(NSObject <SkySyncObserver> *)observer

Parameters:
dataObjectName - The name of the data object to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

disableAutoLogon

public static void disableAutoLogon(SkySyncObserver observer)
This method disables the automatic logon functionality by clearing the session key associated with the last logged in user.

iOS Method Signature: + (void)disableAutoLogon:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

getParameter

public static java.lang.String getParameter(java.lang.String parameterKey)
This method returns the value associated with a named parameter key. The SkySync engine must be running in order for this to work correctly. The following parameter keys are currently supported:

DEVICEID - The SkySync device identifier.
LANGUAGE - The language associated with the current user in SAP.
PARAMETER1, PARAMETER2, ... PARAMETER8 - Customisable site-specific parameter values populated by the Sky identity management process.
SERVERGROUP - The server group associated with the SkySync engine instance.
SERVERID - The server ID associated with the SkySync engine instance.
USERID - The user ID associated with the current user.
WORKAREA - The SAP work area associated with the current user.
WORKGROUP - The SAP work group associated with the current user.

iOS Method Signature: + (NSString *)getParameter:(NSString *)parameterKey

Parameters:
parameterKey - The parameter key for which a value is required.
Returns:
The parameter value associated with the parameter key, or null if the parameter key is invalid and/or cannot be retrieved.

identify

public static void identify(java.util.Hashtable parameters,
                            SkySyncObserver observer)
Deprecated. This method will identify the current user to the SkySync engine, and leverages SkyMobile identity management processing. A set of identity parameters is used for transmission of information back and forth. If the caller leaves the parameter set empty, SkySync will populate the parameter set with the names of the fields to be supplied. If the names of the fields to be supplied are known, these can be pre-populated by the caller along with their associated values. SkySync will then respond with an indication of whether or not the supplied credentials are considered valid.

In addition to any input parameters to be passed to SkyMobile identity processing, the following special input parameter values are also permitted:

CONNECTIONMODE (Optional/BlackBerry) - The connection mode to be used when connecting as part part of the identity checking process. Permitted values are BES, BIS-B, DIRECT. If this parameter is present it will override the equivalent setting given in the provisioned configuration.
USEWIFI (Optional/BlackBerry) - Whether or not to use wi-fi for the connection. Permitted values are TRUE/FALSE. If this parameter is present it will override the equivalent setting given in the provisioned configuration.

iOS Method Signature: + (void)identify:(NSMutableDictionary *)parameters observer:(NSObject <SkySyncObserver> *)observer

Parameters:
parameters - The parameters to the identity process.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

identify

public static void identify(java.util.Hashtable parameters,
                            boolean autoLogon,
                            SkySyncObserver observer)
This method will identify the current user to the SkySync engine, and leverages SkyMobile identity management processing. A set of identity parameters is used for transmission of information back and forth. If the caller leaves the parameter set empty, SkySync will populate the parameter set with the names of the fields to be supplied. If the names of the fields to be supplied are known, these can be pre-populated by the caller along with their associated values. SkySync will then respond with an indication of whether or not the supplied credentials are considered valid.

In addition to any input parameters to be passed to SkyMobile identity processing, the following special input parameter values are also permitted:

CONNECTIONMODE (Optional/BlackBerry) - The connection mode to be used when connecting as part part of the identity checking process. Permitted values are BES, BIS-B, DIRECT. If this parameter is present it will override the equivalent setting given in the provisioned configuration.
USEWIFI (Optional/BlackBerry) - Whether or not to use wi-fi for the connection. Permitted values are TRUE/FALSE. If this parameter is present it will override the equivalent setting given in the provisioned configuration.

iOS Method Signature: + (void)identify:(NSMutableDictionary *)parameters observer:(NSObject <SkySyncObserver> *)observer

Parameters:
parameters - The parameters to the identity process.
autoLogon - True if logging on using cached credentials is desired.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

isCertificateLoaded

public static boolean isCertificateLoaded()
This method indicates whether or not a certificate has been loaded.

iOS Method Signature: + (BOOL)isCertificateLoaded

Returns:
Whether or not a certificate has been loaded.

isConnectedToHost

public static boolean isConnectedToHost()
This method indicates whether or not the SkySync engine currently has a working connection to the back-end (SAP) host.

iOS Method Signature: + (BOOL)isConnectedToHost

Returns:
Whether or not the SkySync engine currently has a working connection to the back-end (SAP) host.

isDebugging

public static boolean isDebugging()
This method indicates whether the SkySync engine is currently writing debug output to the console.

iOS Method Signature: + (BOOL)isDebugging

Returns:
Whether the SkySync engine is currently writing debug output to the console.

isIdentified

public static boolean isIdentified()
This method indicates whether a valid user has been identified for use with the SkySync engine.

iOS Method Signature: + (BOOL)isIdentified

Returns:
Whether a valid user has been identified for use with the SkySync engine.

isProvisioned

public static boolean isProvisioned()
This method indicates whether the SkySync engine is currently provisioned.

iOS Method Signature: + (BOOL)isProvisioned

Returns:
Whether or not the SkySync engine is currently provisioned.

isRunning

public static boolean isRunning()
This method indicates whether the SkySync engine is currently ready for use. In order for this to be the case, the engine must be fully provisioned, a user must have been identified, and it must be started.

iOS Method Signature: + (BOOL)isRunning

Returns:
Whether or not the SkySync engine is currently ready for use.

isStarted

public static boolean isStarted()
This method indicates whether the SkySync engine has been started.

iOS Method Signature: + (BOOL)isStarted

Returns:
Whether or not the SkySync engine has been started.

performanceTestStart

public static void performanceTestStart(int testId,
                                        int instanceId,
                                        SkySyncObserver observer)
This method triggers an upload (delta send) of a data object.

iOS Method Signature: + (void)performanceTestStart:(Integer *)testId instanceId:(Integer *)instanceId, observer:(NSObject <SkySyncObserver> *)observer

Parameters:
testId - The name of the performance test to run
instanceId - The name of the performance test instance
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

performanceTestStop

public static void performanceTestStop(SkySyncObserver observer)
This method triggers an upload (delta send) of a data object.

iOS Method Signature: + (void)performanceTestStop:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

performanceTestUpload

public static void performanceTestUpload(SkySyncObserver observer)
This method triggers an upload of the performance data object.

iOS Method Signature: + (void)performanceTestUpload:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

provision

public static void provision(java.util.Hashtable parameters,
                             SkySyncObserver observer)
This method will prepare the SkySync engine for first-time use. A set of parameters must be passed in containing the following:

SERVER (Mandatory) - The host name or IP address of the SkyMobile gateway on which the target provisioning service is running. May also be in the form of a URL.
PORT (Mandatory) - The port of the SkyMobile gateway on which the target provisioning service is running. Not required if a URL is used for the SERVER parameter.
PROFILE (Mandatory) - The name of the SkyMobile provisioning profile to use when provisioning the device.
PASSWORD (Optional) - The password/pin associated with the provisioning profile.
USER - (Optional) - The user to be passed into the SkyMobile provisioning process.
CONNECTIONMODE (Optional/BlackBerry) - The connection mode to be used when connecting as part part of the provisioning process. Permitted values are BES, BIS-B, DIRECT. If no value is given or any other value is given, DIRECT will be assumed.
USEWIFI (Optional/BlackBerry) - Whether or not to use wifi for the connection. Permitted values are TRUE/FALSE. If no value is given FALSE is assumed.

When this method is called, SkySync will attempt to provision the engine for first-time use. The result will then be passed back to the caller via the observer.

iOS Method Signature: + (void)provision:(NSMutableDictionary *)parameters observer:(NSObject <SkySyncObserver> *)observer

Parameters:
parameters - The parameters to the provisioning process.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

quiesce

public static void quiesce(SkySyncObserver observer)
This method will quiesce the SkySync engine, causing it to cease any existing activity and close down all network connections as soon as possible.

iOS Method Signature: + (void)quiesce:(NSObject <SkysyncSkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

registerObserver

public static void registerObserver(SkySyncObserver observer)
Register an observer to receive high-level notifications sent through from the SkySync engine. Only one such observer can be active at any given time.

iOS Method Signature: + (void)registerObserver:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - The observer that will receive callback notifications about high-level events; may be null.

reset

public static void reset(SkySyncObserver observer)
This method will reset the SkySync engine back to its initial state (prior to provisioning). All user related data is destroyed, including the database, all logs, and any associated binary files.

iOS Method Signature: + (void)reset:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

rollbackTransaction

public static void rollbackTransaction(SkySyncObserver observer)
This method will "undo" or roll back a unit of work initiated by a call to beginTransaction, backing out all of the uncommitted changes made to the database by the current thread. After a call to rollbackTransaction, the SkySync engine will once again begin immediately committing any changes made by the current thread to the database. If a further grouped unit of work is intended, another call to beginTransaction must be made.

iOS Method Signature: + (void)rollbackTransaction:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

setDebugging

public static void setDebugging(boolean debugging)
Set debugging on or off.

Parameters:
debugging - Flag to indicate whether debugging should be enabled.

start

public static void start(SkySyncObserver observer)
This method will start the SkySync engine running. It will immediately begin synchronizing data with the back-end SAP host in background mode (asynchronously). The start method should not be called until the engine has been provisioned via a call to provision, and the user has been identified via a call to identify.

iOS Method Signature: + (void)start:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

stop

public static void stop(SkySyncObserver observer)
This method will stop the SkySync engine. It should be called if the application terminates, or the user logs out. The SkySync engine will require time to shut down gracefully. It can be periodically polled via isStarted to see when the shutdown process is complete.

iOS Method Signature: + (void)stop:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

stopTableProcess

public static void stopTableProcess()
This method stops the current table process that is currently being processed. It should only be called from a notification callback.

iOS Method Signature: + (void)stopTableProcess


tableCount

public static void tableCount(java.lang.String tableName,
                              java.util.Vector conditionSet,
                              SkySyncObserver observer)
This method will return a count of all rows on the specified table that match a specified condition set.

iOS Method Signature: + (void)tableCount:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be counted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableDelete

public static void tableDelete(java.lang.String tableName,
                               java.util.Vector conditionSet,
                               SkySyncObserver observer)
This method will delete all rows on the specified table that match a specified condition set.

iOS Method Signature: + (void)tableDelete:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be deleted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableFieldNames

public static void tableFieldNames(java.lang.String tableName,
                                   SkySyncObserver observer)
This method will return a list with the names of all fields belonging to a table, in database column order, to the observer.

iOS Method Signature: + (void)tableFieldNames:(NSString *)tableName observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableInsert

public static void tableInsert(java.lang.String tableName,
                               java.util.Hashtable rowValues,
                               SkySyncObserver observer)
This method will add/insert a new row into the specified table, using values passed in by the caller to create the new row.

iOS Method Signature: + (void)tableInsert:(NSString *)tableName rowValues:(NSMutableDictionary *)rowValues observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
rowValues - The values for the new row. in an error being returned via the return code.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableInsert

public static void tableInsert(java.lang.String tableName,
                               java.util.Hashtable rowValues,
                               boolean overwrite,
                               SkySyncObserver observer)
This method will add/insert a new row into the specified table, using values passed in by the caller to create the new row, and will optionally overwrite any existing record with the same key.

iOS Method Signature: + (void)tableInsert:(NSString *)tableName rowValues:(NSMutableDictionary *)rowValues overwrite:(BOOL)overwrite observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
rowValues - The values for the new row. in an error being returned via the return code.
overwrite - Whether or not to overwrite any existing record with the same key.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableMassInsert

public static void tableMassInsert(java.lang.String tableName,
                                   java.util.Vector inputRows,
                                   SkySyncObserver observer)
This method will add/insert multiple new rows into the specified table, using values passed in by the caller to create the new rows.

iOS Method Signature: + (void)tableMassInsert:(NSString *)tableName inputRows:(NSMutableArray *)inputRows observer:(NSObject <SkysyncSkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
inputRows - The values for the new rows; a vector of hashtables is expected, with each hashtable representing a new row.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableMassInsert

public static void tableMassInsert(java.lang.String tableName,
                                   java.util.Vector inputRows,
                                   boolean overwrite,
                                   SkySyncObserver observer)
This method will add/insert multiple new rows into the specified table, using values passed in by the caller to create the new rows, and will optionally overwrite any existing records with the same keys.

iOS Method Signature: + (void)tableMassInsert:(NSString *)tableName inputRows:(NSMutableArray *)inputRows overwrite:(BOOL)overwrite observer:(NSObject <SkysyncSkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
inputRows - The values for the new rows; a vector of hashtables is expected, with each hashtable representing a new row.
overwrite - Whether or not to overwrite any existing records with the same keys.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableProcess

public static void tableProcess(java.lang.String tableName,
                                java.util.Vector conditionSet,
                                java.util.Vector ordering,
                                SkySyncObserver observer)
This method will process all rows on a table that satisfy a specified set of conditions, notifying the observer with each row to be processed

iOS Method Signature: + (void)tableProcess:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet ordering:(NSMutableArray *)ordering observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be selected.
ordering - A list of the fields (from most to least significant) to use when sorting the output rows. Additional options on the sort are permitted, and these are denoted by adding a space after the name of the target field, followed by any desired option codes. Supported codes are as follows: the letter 'D' denotes a descending rather than an ascending sort, and an asterisk (*) denotes a case-insensitive sort. Be aware that case-insensitive sorting carries a performance overhead. If this parameter is set to null, then any data retrieved will not be sorted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableProcess

public static void tableProcess(java.lang.String tableName,
                                java.util.Vector conditionSet,
                                java.util.Vector ordering,
                                int offset,
                                int limit,
                                SkySyncObserver observer)
This method will process a number of rows on a table that satisfy a specified set of conditions, notifying the observer with each row to be processed

iOS Method Signature: + (void)tableProcess:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet ordering:(NSMutableArray *)ordering offset:(int)offset count:(int)limit observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be selected.
ordering - A list of the fields (from most to least significant) to use when sorting the output rows. Additional options on the sort are permitted, and these are denoted by adding a space after the name of the target field, followed by any desired option codes. Supported codes are as follows: the letter 'D' denotes a descending rather than an ascending sort, and an asterisk (*) denotes a case-insensitive sort. Be aware that case-insensitive sorting carries a performance overhead. If this parameter is set to null, then any data retrieved will not be sorted.
offset - The first row that should be retrieved.
limit - The total number of rows that should be retrieved if available, else less than this count if that many rows are unavailable. -1 is supported to return all available rows from offset to the end.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableSelect

public static void tableSelect(java.lang.String tableName,
                               java.util.Vector conditionSet,
                               java.util.Vector ordering,
                               SkySyncObserver observer)
This method will retrieve all rows on a table that satisfy a specified set of conditions.

iOS Method Signature: + (void)tableSelect:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet ordering:(NSMutableArray *)ordering observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be selected.
ordering - A list of the fields (from most to least significant) to use when sorting the output rows. Additional options on the sort are permitted, and these are denoted by adding a space after the name of the target field, followed by any desired option codes. Supported codes are as follows: the letter 'D' denotes a descending rather than an ascending sort, and an asterisk (*) denotes a case-insensitive sort. Be aware that case-insensitive sorting carries a performance overhead. If this parameter is set to null, then any data retrieved will not be sorted.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableSelect

public static void tableSelect(java.lang.String tableName,
                               java.util.Vector conditionSet,
                               java.util.Vector ordering,
                               int offset,
                               int limit,
                               SkySyncObserver observer)
This method will retrieve a number of rows on a table that satisfy a specified set of conditions.

iOS Method Signature: + (void)tableSelect:(NSString *)tableName conditionSet:(NSMutableArray *)conditionSet ordering:(NSMutableArray *)ordering offset:(int)offset count:(int)limit observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
conditionSet - A set of conditions specifying the rows to be selected.
ordering - A list of the fields (from most to least significant) to use when sorting the output rows. Additional options on the sort are permitted, and these are denoted by adding a space after the name of the target field, followed by any desired option codes. Supported codes are as follows: the letter 'D' denotes a descending rather than an ascending sort, and an asterisk (*) denotes a case-insensitive sort. Be aware that case-insensitive sorting carries a performance overhead. If this parameter is set to null, then any data retrieved will not be sorted.
offset - The first row that should be retrieved.
limit - The total number of rows that should be retrieved if available, else less than this count if that many rows are unavailable. -1 is supported to return all available rows from offset to the end.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableUpdate

public static void tableUpdate(java.lang.String tableName,
                               java.util.Hashtable newRowValues,
                               java.util.Vector conditionSet,
                               SkySyncObserver observer)
This method causes all rows matching a specified condition set to be updated with new values.

iOS Method Signature: + (void)tableUpdate:(NSString *)tableName newRowValues:(NSMutableDictionary *)newRowValues conditionSet:(NSMutableArray *)conditionSet observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
newRowValues - The new values with which to update the affected rows.
conditionSet - A set of conditions specifying the rows to be updated.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

tableUpdate

public static void tableUpdate(java.lang.String tableName,
                               java.util.Hashtable newRowValues,
                               java.util.Vector conditionSet,
                               boolean updateTimestamp,
                               SkySyncObserver observer)
This method causes all rows matching a specified condition set to be updated with new values, and additionally provides the option for the timestamp to be updated (or not), and cascading of updates to take place (or not).

iOS Method Signature: + (void)tableUpdate:(NSString *)tableName newRowValues:(NSMutableDictionary *)newRowValues conditionSet:(NSMutableArray *)conditionSet updateTimestamp:(BOOL)updateTimestamp observer:(NSObject <SkySyncObserver> *)observer

Parameters:
tableName - The name of the table to be targeted.
newRowValues - The new values with which to update the affected rows.
conditionSet - A set of conditions specifying the rows to be updated.
updateTimestamp - Flag to indicate whether or not the timestamps on the affected rows should be updated.
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.

unquiesce

public static void unquiesce(SkySyncObserver observer)
This method will unquiesce the SkySync engine after a call to quiesce has been made, allowing it to resume normal operation.

iOS Method Signature: + (void)unquiesce:(NSObject <SkySyncObserver> *)observer

Parameters:
observer - An observer that will receive callback notifications regarding the progress of the operation; may be null.