purple: start chat session core/backend mapping rework
commit0fc4fed2a265ff0381034a013d7fdc35f04cb9cc
authorStefan Becker <stefan.becker@nokia.com>
Sat, 25 Sep 2010 17:59:14 +0000 (25 20:59 +0300)
committerStefan Becker <stefan.becker@nokia.com>
Sat, 25 Sep 2010 17:59:14 +0000 (25 20:59 +0300)
tree8e1bd7936e50ed38448ba92079dc66d89942b5b8
parentc6d68625363d93f42c43a8aa27da34fee924e622
purple: start chat session core/backend mapping rework

Re-joining doesn't really work for Group Chat channels. This is caused by a
mixup between core & backend about chat sessions. E.g. the core knows about the
libpurple chat ID (int). But on connection re-establishment the core can't
identify which channels need to be rejoined (and NOT created again!).

We must separate data belonging to the core (chat on OCS [URI]) and the backend
(PurpleConversation or chat ID). The backend is responsible for the mapping to
and from the core.

Start by writing down all the relevant players in purple-chat.c.
src/purple/purple-chat.c