On Sat, Jul 15, 2006 at 06:30:06PM +0200, Harry Vennik wrote: > Op zaterdag 15 juli 2006 12:28, schreef Roelof Kemp: > > Harry Vennik schreef: > > > Actually I thought libmsn would be the connection manager itself. Also I > > > think that making it separate from Telepathy is likely to cause the > > > connection manager + libmsn to be more complex, and thus slower than a > > > protocol implementation thas is a Telepathy connection manager itself. > > > Basically that is the reason why I suggested to make the Telepathy and > > > MSN parts of the code call each other directly (and thus be a single > > > unit). Doing it that way will make he MSN part depend on the Telepathy > > > part, so no way it merges with your idea.... > > > > > > Roelof, what is your idea on this? Libmsn is a connection manager, or > > > libmsn is just an msn protocol implementation that could be part of a > > > connection manager? > > > > Well, I spoke with asabil (from the telepathy IRC), and he strongly > > suggested to not make a connection manager but to make only a libmsn. I > > also discussed it with Sander and the idea was that I should design the > > API of a libmsn (version 13) which could be used by a connection > > manager. Then, the connection manager would be as much independent as > > possible from the lib. The lib, which should be more close to the MSNP > > than to Telepathy should offer very generic functions. (the more it is > > close to Telepathy, the less generic the lib is) I think design is > > cleaner when the libmsn and the connection manager are separated, > > because when a new protocol appears one has not to rewrite the > > connection manager, but only has to create a new msnlib. > > > The way I see it is like this: libmsn should implement the msn protocol (i.e. > use something existing) so that part is fixed. On the other side it should > provide an API, which consists of a set of classes, methods, events, and > maybe properties. Those can be defined in any way, as long as all commands > and notifications in the protocol are somehow reflected. (All other possible > constraints are optional, and are thus design choices to be made.) > > In this case we decided to have amsn2 use Telepathy. Telepathy is a general > API for communication, and is usable for all aspects of the msn protocol > (although we might need to add a channel type, but I'm sure that won't be a > problem if we cooperate with the Telepathy team to establish its API). So why > won't we use this existing API? > > Please note that you can perfecty implement that API without caring a bit > about D-BUS!!! Then in the end libmsn + a few xml files + dbus-glib bindings > == connection manager for msnp13!!! > To ease the implementation, you might have libmsn depend om libtelepathy by > extending some classes it provides. Once every essential method has been > implemented, libtelepathy may effectively drop out (in which case we could > add a few #ifdefs in the header files of libmsn and a --without-telepathy > build option). Using that build option will then change the class definitions > such that they are not extending libtelepathy classes anymore, while still > providing the same API. >
I don't think libmsn should depend on libtelepathy, if you're talking about only for testing, then I say, no need to use telepathy for the tests, you can have a simple helloworld application do the tests for you.. I don't see why you would need to integrate libtelepathy inside libmsn... maybe you can be clearer and I'll agree... > > However I see at least one (important) complication. If the lib is only > > a generic lib and not a Telepathy Connection Manager, there must be some > > way for notification upon arrival of msn messages. A generic lib doesn't > > know about the IPC techniques (D-BUS for Telepathy) that are used by > > higher level layers. So then my question about notification isn't still > > answered. If the lib does know about D-BUS, then my question is > > answered. (The lib should send a D-BUS message) > glib signals will do the job both with and without D-BUS. (With the Glib > bindings the IPC part can be implemented almost transparently.) > yep, signals, or callbacks as Phil said, that's I think the simplest and more obvious solution.. the connection manager will register his callbacks to a function that generates the DBUS call.. it's that simple... I think glib handles this type of thing very easily.... > > > > In short: There is a design decision to be made about what is the > > purpose of the msnlib. Should it be generic and should a connection > > manager deal with the Telepathy and D-BUS stuff? Or should the msnlib be > > integrated with a connection manager (and other Telepathy objects)? > > > > My idea is to create a generic lib if and only if the above complication > > can be solved. > > > > I'll be away for this weekend, monday I'll be back ;-) > > > > Roelof > > > > > Op zaterdag 15 juli 2006 05:48, schreef Youness Alaoui: > > >> I think what was meant is to have a LIBMSN, which would be completely > > >> separate of telepathy (but still designed while thinking about > > >> telepathy), THEN we'd have to create a simple telepathy connection > > >> manager that will USE LIBMSN.. sort of a wrapper, but keep libmsn > > >> separate from telepathy so non-telepathy clients can still use its API > > >> if they want. > > >> > > >> KKRT > > >> > > >> On Sat, Jul 15, 2006 at 04:29:44AM +0200, Sander Hoentjen wrote: > > >>> On Sat, 2006-07-15 at 02:26 +0200, Harry Vennik wrote: > > >>>> Hi Roelof, > > >>>> > > >>>> Unfortunately however, you seem to have forgotten about Telepathy > > >>>> somehow... Not only is the word 'Telepathy' nowhere in your document > > >>>> except in the title, also there is not even a little similarity > > >>>> between the interfaces specified by Telepathy, and those that you > > >>>> propose. So, I'm sorry to say, but it won't work this way.... > > >>> > > >>> To be on the clear side: we discussed and we agreed that it will be a > > >>> generic lib, staying close to telepathy where it makes sense, but if it > > >>> doesn't, that is where the telepathy connection manager comes in. First > > >>> the lib should be written, with some tests.c that will have unit tests. > > >>> > > >>> now i have to go, don't wanna miss my flight :P > > >>> > > >>> > > >>> > > >>> ----------------------------------------------------------------------- > > >>>-- Using Tomcat but need to do more? Need to support web services, > > >>> security? Get stuff done quickly with pre-integrated technology to make > > >>> your job easier Download IBM WebSphere Application Server v.1.0.1 based > > >>> on Apache Geronimo > > >>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=12164 > > >>>2 _______________________________________________ > > >>> Amsn-devel mailing list > > >>> Amsn-devel@lists.sourceforge.net > > >>> https://lists.sourceforge.net/lists/listinfo/amsn-devel > > >> > > >> ------------------------------------------------------------------------ > > >>- Using Tomcat but need to do more? Need to support web services, > > >> security? Get stuff done quickly with pre-integrated technology to make > > >> your job easier Download IBM WebSphere Application Server v.1.0.1 based > > >> on Apache Geronimo > > >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > >> _______________________________________________ > > >> Amsn-devel mailing list > > >> Amsn-devel@lists.sourceforge.net > > >> https://lists.sourceforge.net/lists/listinfo/amsn-devel > > > > > > ------------------------------------------------------------------------- > > > Using Tomcat but need to do more? Need to support web services, security? > > > Get stuff done quickly with pre-integrated technology to make your job > > > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > > > Geronimo > > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > _______________________________________________ > > > Amsn-devel mailing list > > > Amsn-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/amsn-devel > > > > ------------------------------------------------------------------------- > > Using Tomcat but need to do more? Need to support web services, security? > > Get stuff done quickly with pre-integrated technology to make your job > > easier Download IBM WebSphere Application Server v.1.0.1 based on Apache > > Geronimo > > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > _______________________________________________ > > Amsn-devel mailing list > > Amsn-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/amsn-devel > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Amsn-devel mailing list > Amsn-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/amsn-devel ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Amsn-devel mailing list Amsn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/amsn-devel