Initial commit
First cut of the structural elements of the contacts plugin. There
probably would not be any storage plugin for contacts and just a client
plugin would be enough (since the storage plugin cannot be used by
anyone else)

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added support for GTransport, GAuth

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Completed writing the GTransport and invoking those methods in
GAuth for authentication. Have to write functionality to parse
the token responses

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Created the structure for Atom and GContactEntry classes.
The design idea is to have an Atom serializer and deserializer that
embeds the individual entries, like Contact, Events etc. A map has
to be maintained to map the entry with a function pointer that handles
the element.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Removed atom sub-project, since it is more useful to merge parsing and
atom functionality to start with. Created ParseStream class to parse the
xml. Used function pointers to handle callback when specific elements
are retrieved from the xml

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added other handler methods and attributes. Fixed few bugs. Need
to handle the parsing of Entry

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added the handler methods in ParseStream for gd: schema elements. Next
step is to create the handler methods for gContact: schema elements.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Completed adding other handler functions in ParseStream and added the
corresponding methods in QContactEntry. Next step is to create QContact
entries using the data from Google

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
The supported attributes of QContact are set. For the fields that are
not supported by QtContacts, they have to be stored as custom detail
fields.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Started adding unit tests for the classes. Implemented unit testing
for GParseStream, will continue to add the same to other classes. Fixed
bugs related to atom Entry parsing using unit testcases. Added the unimplemented
methods in the classes. Next step is to write unit testcases for GTransport
and GContactEntry

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Written the unit testcases for GTransport. Though these are not unit
tests per se, wanted to test the GET and POST functionality and they
work. Will keep on adding more tests later.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Fixed some issues with GTransport while unit testing. Started working on
the client plugin class. Next target is to complete the slow-sync flow
of pulling contacts from server to client

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added support etag while parsing entry

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Created the structure of the GContactClient plugin class. Added the
necessary abstract method implementations and also the structure for
populating and retrieving the sync results. Next step would be to
implement the startSync method to start the actual sync process

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added GContactsBackend to handle the transactions with the QContact
engine. Need to fix the methods to handle the actual transactions
with GContactEntry

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added the methods to fetch the contacts from device and also the
contacts from the server. Added method setToken() and setUpdatedMin to
manage the run-time http transport properties. Next step is to add meat
to the signal and slots of GTransport and GContactClient and tie up the
flow.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added methods to creates the list of added/modified/deleted contacts
from server.

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Added functionality to fetch contacts from server and store them
locally. Created mappings between local ids and server ids (guid).
Created the structure for handling conflicts and the sync direction.
Next step is to write unit tests to validate the functionality

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>
Fixed bugs related to setting email, initialization of transport,
parser, auth and contacts objects in GContactClient. Modified the name
of the cilent plugin to googlecontacts and added a client profile.
Removed unnecessary methods in GParseStream. Added a slot
handleNetworkError in GTransport. Added unit testcases for
GContactClient and GContactsBackend

Signed-off-by: Sateesh Kavuri <sateesh@mobilitas.co>