Hello,

Sorry for the late report of my first week. I was trying to do the a
milestone of my agenda [1] that consumed much more time that I imagined.

The following tasks was proposed:

   - support for initializing roster / buddy list
   - support for adding contacts
   - support for removing contacts

To maintain a list of contacts at first I considered to create another
class just to holds the contacts names and appropriate methods to store
this list in a local file (so the user could recover it at the time of
login).

When I started to code I saw that was already a map at
resiprocate/apps/telepathy/Connection.cxx that kept this contact info
(mHandles and mIdentifiers) so I think it'll be better to use it instead of
replicate the information. Besides that, Daniel told me that in the future
I will have to treat this contact list in the server side (not in client
side as I'm doing right now) so this implementation will be changed anyway.

To remove the contact I'm just deleting the contact from mHandles and
mIdentifiers and saving this contacts to the local file again.

I know writing to file the entire list of contacts every time there is a
change in the contact list (adding or removing) is not very efficient but,
as I said before, this implementation is temporary until we treat contact
list at server side.

The part that took me so long was to initializing and actually see a buddy
list. I've tried to compare with telepathy-morse and telepathy-nonsense
(which greatly helped me even tough I couldn't compile any of them for
library dependence problems) when implementing but couldn't see a buddy
list when I ran telepathy-resiprocate. At the end I found out that I had to
set the contact list state interface to success so my client (empathy)
could show the buddy list.

I didn't do a commit yet because I'm checking I few details before do it.


[1]
https://wiki.debian.org/SummerOfCode2016/StudentApplications/MateusBellomo
[2] https://github.com/TelepathyQt/telepathy-morse
[3] https://github.com/TelepathyQt/telepathy-nonsense

Reply via email to