Yes. Actually, we have already begun building an XMPP provider for
ECF...but not yet completed it/tested it fully. Perhaps we can work
with you/others from the dev community on this?
I would assume that an ISharedObjectContainer would be the server I am
connecting to. So for example, it would be myserver.com, and the
authentication would be handled by the container and any arguments I
into it.
Yes. With our provider implementation, the ISharedObjectContainer
instance is a very thin 'wrapper' for communication with an XMPP server.
We're using the Jive Smack library to implement this container.
The ISharedObjectContainer.joinGroup semantics is mapped onto the XMPP
'connect to XMPP server and authenticate'.
Where I get a little confused is what defines a SharedObject in regards
user on my roster, it would make sence to create a SharedObject for that
thread. But how does a roster (buddy list) and all the presence messages
associated with such, work? Would I create a roster shared object? Would
that shared object give me presence related message events?
There are other ways to design this, but we have (so far) taken the
approach of having a shared object that handles 'presence/roster and IQ'
messsages specifically, decodes those messages and then communicates the
implied user interface state change to a user interface for representing
user presence (...also potentially to multiple client-provided user
interfaces for presenting such information...we've not yet finished this
part of the ECF UI architecture).
So our approach is currently: implement handlers for the various xmpp
protocol messages as 1 or more XMPP-provider-implemented shared objects,
and then put logic into these shared objects to interpret the various
messages, extract the relevant data in the messages, and then have them
delegate UI state changes to either a) other/additional shared objects;
b) directly to user interface code.
LMK if you would like to work directly with the team on producing this
XMPP provider and the shared object implementations. Although we have
the basics in place, this is one of several areas that we would like to
complete work already started and are trying to balance that against
other priorities.
Thanks,
Scott
Not sure if this makes much sence, feel free to ask questions.
Thanks
- Danny