[commits] [Wiki] changed: ActiveSync/Development
Michael Rubinsky
mrubinsk at horde.org
Wed Nov 23 23:39:16 UTC 2016
mrubinsk Wed, 23 Nov 2016 23:39:16 +0000
Modified page: https://wiki.horde.org/ActiveSync/Development
New Revision: 9
Change log: Fill out the rest of the Core classes.
@@ -35,12 +35,21 @@
: Horde_ActiveSync_Imap_* : These classes interact with the IMAP
server. H_AS_I_Adapter contains the bulk of the logic for fetching
changes, messages, etc.... The Message object wraps a single IMAP
message and the MessageBodyData object abstracts access to the
message's body taking various things into account (if the client needs
HTML body, if it needs truncation) and ensuring the data is proper
UTF-8 data.
: Horde_ActiveSync_Message_* : These classes represent either an
actual message item i.e., a Calendar item or a part of a message item
that is contained by a message item i.e., and Attendee or a Flag. Each
class is responsible for knowing how to encode itself into WBXML or to
decode a WBXML stream into the item's properties.
+: Horde_ActiveSync_State_* : This is the state/storage driver.
Responsible for interacting with the persistent storage used by
ActiveSync (normally Sql). This is another one of those classes that
has grown too big for it's original name and needs to be broken down
for H6. Started as a driver for maintaining the state/synckey
"sync-points" but has grown to encompass managing all storage needs.
E.g., the SyncCache is actually persisted to storage using this class.
+++ Horde_Core
Core contains any code specific to handling Horde Groupware
collections. This is where requests for information and changes to
information are actually handled.
+
+: Horde_Core_ActiveSync_Auth : Wraps authentication driver for use in
ActiveSync (see Authentication section below).
+
+: Horde_Core_ActiveSync_Connector : Wraps calls to the various
application APIs (except for IMP) from Horde_Core_ActiveSync_Driver.
+
+: Horde_Core_ActiveSync_Driver : Concrete implementation of
Horde_ActiveSync_Driver_Base.
+
+: Horde_Core_ActiveSync_Mail : Handles sending/replying/forwarding email.
++++ Factories
: [[# activesyncserver Horde_Core_Factory_ActiveSyncServer]] :
Creates the main //Horde_ActiveSync// object. Injects the
//Horde_Core_ActiveSync_Driver//, the WBXML encoder/decoder objects,
the //Horde_ActiveSync_State_[Sql|Mongo]// storage object and the
//Horde_Controller_Request// object.
@@ -49,8 +58,11 @@
: Horde_Core_Factory_ActiveSyncBackend : Creates the
//Horde_Core_ActiveSync_Driver// backend driver. Injects
//Horde_Core_ActiveSync_Connector//,
//Horde_Core_ActiveSync_Imap_Factory// (if needed), the state storage
driver, and the //Horde_Core_ActiveSync_Auth// object.
: Horde_Core_ActiveSync_Imap_Factory : Responsible for constructing
the Horde_ActiveSync_Imap_Adapter, for returning the folder tree, and
information on available user-defined flags. This factory is injected
into the backend driver.
+
+: Horde_Core_ActiveSync_Logger_Factory : Obviously, provides the
logger object used for the synclog.
+
++ Protocol Overview
It's beyond the scope to explain the ActiveSync protocol in detail.
For that, there is the official
[https://msdn.microsoft.com/en-us/library/cc425499(v=exchg.80).aspx
documentation]. The most useful of these are
More information about the commits
mailing list