Le June 17, 2006 09:35, vous avez écrit :
> Hello,
> > Same here, I'm working right now on a library to support MSNP13 (WIndows
> > Live
> > Messenger) so I have already begun. So it would be nice if I could work
> > on libpapillon (that's the name of the library).
> >
> > We'd probably like to keep the selection process as fair as possible, so
> having a pre-assigned student might not cope well with the program's
> spirit. However, if you can  show that this particular subject is
> interesting enough for the FOSS community at large to bypass the normal
> selection process, it might be fine. So could you please elaborate a bit
> more on this project's details?
>
> Thank you very much for your feedback!
>
> Best regards,

My goal with libpapillon is to offer a great and reusable Qt4 library to 
support Windows Live Messenger protocol(MSNP13). This is done primary for 
Kopete, but the library is designed as his own entity to be used by other 
projects. Apart from libmsn(MSNP8) and libgaim (MSNP8), there are no other 
library to support MSN/Windows Live Messenger, so my goal is to fill a void 
and make better maintainable code.
I think OpenWengo NG is written in Qt4 and you want to support other 
protocols, so libpapillon will be a nice candidate for Windows Live Messenger 
support.
Also I intend to do a Telepathy(http://telepathy.freedesktop.org) connection 
backend using libpapillon, for those who don't use Qt4 and C++, thanks to 
QtDBus bindings.

The design is based on Iris library for Jabber, also based our own libraries 
for OSCAR(liboscar), Yahoo(libkyaoo), Groupwise(libgroupwise). 

Current code(KDE SVN path):
/trunk/KDE/kdenetwork/kopete/protocols/messenger/libpapillon/

Here is my roadmap for libpapillon(as 17th June 2006):
CHART:
---------
- : to do
+ : done
# : in progress
! : cancelled or postponed

M0 Login and Basic architecture
+ Already done.

M1 Contact List and Presence
+Create MimeHeader class
#Parse initial Hotmail message
+Do ChallengeTask
-ContactList
 -Retrieve contact list(and thus address book) using SOAP (contacts.msn.com 
Web service)
 -ContactListManager class
 -Add/Remove/Block contacts
 -Modify address book
 -Add/Remove groups
 -Move contacts between groups
-Presence
 #Set our own presence
 #Set our own information (nickname, personal message, etc.)
 #Get the initial presence of contacts
 #Get modification of presence from others
 #Get information change from contacts (nickname, personal message, etc..)
-Prefix filename of common classes with papillon (like Task and Client)

After this milestone, all(or mostly all) contactlist and presence manipulation 
will be in and we should be able to start the Kopete plugin.

M2 Switchboard
-Create the Switchboard connection manager for Papillon::Client
-Look for incoming switchboard session
-Create new Switchboard sessions
-Parse and create new messages
-Send typing information (Special type of message)
-Invite contacts
(Out of switchboard)-Offline messages retrival using SOAP (yet another "fun" 
Web service)
-Sending of Offline messages
-Sending and received Nudges (Special type of message)

After this milestone, basic switchboard operations will be in (expect P2P part 
in fact), and Kopete plugin will be usuable. (Maybe a first standalone 
release of libpapillon)

M3 P2P
-Design P2P framework
-Design MSN object (and push it with presence)
-Download and upload Display picture
-Download and upload Custom emoticons
-File transfer using Switchboard

After this milestone, basic P2P framework will be complete. Futher P2P 
features will come after.

M4 Webcam, Direct Transfers, HTTP and Proxy
-Implement Webcam P2P context
-Use reflection server for NAT
-Implement direct transfers for all P2P context
-Implement proxy support
-Implement MSNP over HTTP.

After this milestone, libpapillon will be equal to old Kopete MSN 
implementation(and more of course).

-- 
Michaël Larouche
KDE developer working on Kopete, Kamefu, Solid...on dial-up :P
--------------------------------------
Website: http://www.tehbisnatch.org/
MSN/Email: [EMAIL PROTECTED]
IRC: irc.freenode.org/DarkShock on #kopete,#solid,#kamefu,#plasma
Jabber: [EMAIL PROTECTED]

_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel

Reply via email to