Hello Eike, Michael, anybody interested,

This may be a little longer because it's still not clear how the
telepathy framework should work.

First, I've finally read something about telepathy[1] [2], so I now
understand some basics. That's great :-)
I came into it just by accident.

I've pushed 10 more patches, all because I wanted to do the last one -
inviting people into MUC.
What's new:
- Registering client handlers is executed with Listen button in
Collaborate dialog.
Then current document can accept new channel and receive files. (was
LIBO_TUBES=slave)

- ScDocFuncSend owns TeleConference (the channel) instead of
TeleManager and can directly communicate.
Thus each document can collaborate with different contact.

- Inviting contacts is possible.
This seem to work. I also played with .service and .client files
mentioned in tubes/README.
And it works! I was able to invite a contact and after accepting in VM
in empathy, Channel Dispatcher has executed .../soffice --calc as told
in org.freedesktop.Telepathy.Client.LibreOffice.service.
I was thinking that it could run .../soffice --accept-tube, so we know
why Libreoffice is started and do something clever ;-)
But this needs more work and ideas as mentioned later below.

Note: that by pressing Collaborate button we are now starting MUC
session. 'saveme' (sending a file) for example does not work then.
You can change that in contacts.cxx [3]. Maybe I should add another button but..
Also, what's not intuitive is that, when you select a contact and
press Collaborate, the account to which the contact belongs to is
connecting to libor...@conference.jabber.org.
So not the contact you see in the dialog. Check in terminal.

What's wrong:
- TeleManager is never destroyed.
Because I don't know where.
And also where we want the code which is called after signaling from
tubes/ (when we receive a file or a new channel) ?
Or more importantly: what should happen ?
  - when someone wants to start a session with us, he sends us file
and then we can start collaborating on it ?
    There is no other case when someone sends us file ?
    I am not sure how to do this. Some class alive as the whole
./soffice is running could help.
    But still, after receiving new channel [4], I need to accept it,
receive the file and then bind the channel to that file ?
I guess I need to take a rest and think again later.

- I broke INTERCEPT=demo mode.

- Also unit test is broken

Should I start working on side-bar widget we can dock ? Any hints?
But I think that we need to improve receiving channels and files,
handle TeleManager properly and everything related.

Hope you can parse this, I am loosing myself,
Thanks,

Matus

[1] http://www.aosabook.org/en/telepathy.html
[2] http://telepathy.freedesktop.org/doc/book/
[3] 
http://cgit.freedesktop.org/libreoffice/core/tree/sc/source/ui/collab/contacts.cxx?h=feature/tubes#n253
[4] 
http://cgit.freedesktop.org/libreoffice/core/tree/tubes/source/manager.cxx?h=feature/tubes#n129
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to