Implementing the Provider ClassesΒΆ

The content of file provider.js will be loaded into the provider namespace and is the central starting point to implement the TbSync provider classes. The provider namespace is build using the short provider identifier selected during the initial setup of the provider add-on:

TbSync.providers.<short provider identifier>
Base Class
Implementing the Base() class defines, where TbSync can find certain things, like icons, XUL files for different dialogs or localized string definitions. It also defines, what properties the provider needs in the account and folder database and what should happen, if an account is being synchronized.
FolderList Classes

A central part of the TbSync manager UI is the folder list, which displays available resources discovered by the provider and their synchronization status. It even allows interaction via additional buttons or context menus.

Either the FolderList() class or the StandardFolderList() class has to be implemented. The first one allows to fully control how the list items should look like, the second one is a lot simpler but does not give full control over the layout.

Target Classes
Implementing one or more TargetData() classes defines, how TbSync can access the local elements like address books, calendars or whatever is used to store the elements received from the server.