Class Horde_ActiveSync_State_File
File : statemachine.php Project : Z-Push Descr : This class handles state requests; Each differential mechanism can store its own state information, which is stored through the state machine. SyncKey's are of the form {UUID}N, in which UUID is allocated during the first sync, and N is incremented for each request to 'getNewSyncKey'. A sync state is simple an opaque string value that can differ for each backend used - normally a list of items as the backend has sent them to the PIM. The backend can then use this backend information to compute the increments with current data.
Old sync states are not deleted until a sync state is requested. At that moment, the PIM is apparently requesting an update since sync key X, so any sync states before X are already on the PIM, and can therefore be removed. This algorithm is automatically enforced by the StateMachine class.
Created : 01.10.2007
� Zarafa Deutschland GmbH, www.zarafaserver.de This file is distributed under GPL-2.0. Consult COPYING file for details
- Horde_ActiveSync_State_Base
- Horde_ActiveSync_State_File
public
Horde_ActiveSync_StateMachine_File
|
|
public
|
|
public
boolean
|
#
isConflict( array $stat, string $type )
Determines if the server version of the message represented by $stat conflicts with the PIM version of the message according to the current state. |
public
boolean
|
|
public
|
#
updateState( string $type, array $change, integer $origin =
Update the state to reflect changes |
public
boolean
|
#
setFolderData( string $devId, array $folders )
Save folder data for a specific device. Used only for compatibility with older (version 1) ActiveSync requests. |
public
mixed
|
#
getFolderData( string $devId, string $class )
Get the folder data for a specific collection for a specific device. Used only with older (version 1) ActiveSync requests. |
public
array
|
#
getKnownFolders( )
Return an array of known folders. This is essentially the state for a FOLDERSYNC request. AS uses a seperate synckey for FOLDERSYNC requests also, so need to treat it as any other collection. |
public
array
|
#
initPingState( string $devId )
Perform any initialization needed to deal with pingStates For this driver, it loads the device's state file. |
public
object
|
|
public
boolean
|
|
public
boolean
|
#
deviceExists( string $devId, string $user = null )
Check that a given device id is known to the server. This is regardless of Provisioning status. |
public
|
#
loadPingCollectionState( array $pingCollection )
Load a specific collection's ping state. Ping state must already have been loaded. |
public
boolean
|
|
public
integer
|
|
public
|
|
public
|
|
public
|
#
resetAllPolicyKeys( )
Reset ALL device policy keys. Used when server policies have changed and you want to force ALL devices to pick up the changes. This will cause all devices that support provisioning to be reprovisioned. |
public
boolean
|
|
public
array
|
|
public
|
#
removeState( string $syncKey = null, string $devId = null )
Explicitly remove a specific state. Normally used if a request results in a synckey mismatch. This isn't strictly needed, but helps keep the state storage clean. |
public
array
|
|
public
integer
|
FILTERTYPE_1DAY,
FILTERTYPE_1MONTH,
FILTERTYPE_1WEEK,
FILTERTYPE_2WEEKS,
FILTERTYPE_3DAYS,
FILTERTYPE_3MONTHS,
FILTERTYPE_6MONTHS,
FILTERTYPE_ALL
|