{div:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR{div}
{div:id=description}{div}\\ 

{table:id=|class=servoy sReturnTypes}{tr:style=height: 30px;}{th}Return Types{th}{tr}{tr}{td}{span:class=sWordList}[OfflineDataDescription]{span}{td}{tr}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[OfflineDataDescription]{td}{td}[#createOfflineDataDescription]\()
Create a descriptive model for offline data.{td}{tr}{tbody}{tbody}{tr}{td}[OfflineDataDescription]{td}{td}[#createOfflineDataDescription]\(prefix)
Create a descriptive model for offline data.{td}{tr}{tbody}{tbody}{tr}{td}[Array]{td}{td}[#getRowDescriptions]\(fs, pks)
This method returns the description of rows as a json array object.{td}{tr}{tbody}{tbody}{tr}{td}void{td}{td}[#performSync]\(data, version, authenticateResult)
If all the changes for a mobile client needs to come as once so that they can be in 1 transaction.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=createOfflineDataDescription}{tr:id=name}{td}h6.createOfflineDataDescription{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[OfflineDataDescription]{span}{span:style=font-weight: bold;}createOfflineDataDescription{span}{span}\(){span}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[OfflineDataDescription]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//plugins.mobile.getOfflineFoundSetData(foundset,null);
var data = plugins.mobileservice.createOfflineDataDescription('data_');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=createOfflineDataDescription-String}{tr:id=name}{td}h6.createOfflineDataDescription{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[OfflineDataDescription]{span}{span:style=font-weight: bold;}createOfflineDataDescription{span}{span}\(prefix){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} prefix -- specified formname prefix used to retrieve row data from REST wise
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[OfflineDataDescription]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//plugins.mobile.getOfflineFoundSetData(foundset,null);
var data = plugins.mobileservice.createOfflineDataDescription('data_');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getRowDescriptions-JSFoundSet_ObjectArray}{tr:id=name}{td}h6.getRowDescriptions{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Array]{span}{span:style=font-weight: bold;}getRowDescriptions{span}{span}\(fs, pks){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[JSFoundSet]} fs -- the foundset
\{[Object]\[]} pks -- the array of pks
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Array]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
/** @type {Array<Object>} */
var idsArray = new Array(100,200,300);
foundset.loadAllRecords();
var json = plugins.mobileservice.getRowDescriptions(foundset, idsArray)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=performSync-Object_Number_Object}{tr:id=name}{td}h6.performSync{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}void{span}{span:style=font-weight: bold;}performSync{span}{span}\(data, version, authenticateResult){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[Object]} data -- The data package that is given to the offline\_data form ws\_update method.
\{[Number]} version -- The version number that is given to the offline\_data form ws\_update method.
\{[Object]} authenticateResult -- The authenticateResult object that is given to the offline\_data form ws\_update method. (generated by the  offline\_data.ws\_authenticate)
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}void{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
try {
   databaseManager.startTransaction();
   plugins.mobileservice.performSync(data,version,authenticateResult);
   databaseManager.commitTransaction();
} catch (e) {
   databaseManager.rollbackTransaction();
   // log the error and return false to that the mobile client will know the sync did fail.
   application.output(e,LOGGINGLEVEL.ERROR);
   return false;
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}