Opened 12 years ago

Closed 3 years ago

#35 closed task (fixed)

GObjectification

Reported by: MarkDoliner Owned by: grim
Milestone: 3.0.0 Component: libpurple
Version: Keywords:
Cc: elreydetodo

Description


Attachments (15)

0001-Move-ciphers-around.patch (128.0 KB) - added by xanderw 11 years ago.
0002-New-cipher-API.patch (42.9 KB) - added by xanderw 11 years ago.
0003-All-cipher-subclasses.patch (121.1 KB) - added by xanderw 11 years ago.
0004-Update-libpurple-and-tests.patch (20.8 KB) - added by xanderw 11 years ago.
0005-Updates-plugins.patch (15.8 KB) - added by xanderw 11 years ago.
0006-Updates-protocols.patch (54.8 KB) - added by xanderw 11 years ago.
0001-uiops-class.patch (7.3 KB) - added by xanderw 11 years ago.
new uiops class, see timeout class for example use
0002-circbuff-class.patch (16.5 KB) - added by xanderw 11 years ago.
new circbuff class
0003-adjust-for-circbuff-class.patch (17.5 KB) - added by xanderw 11 years ago.
0004-timeout-class.patch (23.4 KB) - added by xanderw 11 years ago.
0005-remove-timeout-form-eventloop.patch (5.7 KB) - added by xanderw 11 years ago.
0006-adjust-for-timeout-class.patch (100.3 KB) - added by xanderw 11 years ago.
0007-nullclient-works.patch (3.2 KB) - added by xanderw 11 years ago.
0008-more-cipher-changes.patch (4.4 KB) - added by xanderw 11 years ago.
purple-dbus-ignore-if0.diff (856 bytes) - added by QuLogic 11 years ago.
Ignore sections in '#if 0'/'#endif' when looking for functions for DBus.

Download all attachments as: .zip

Change History (38)

comment:1 Changed 12 years ago by lschiere

  • priority changed from blocker to major
  • Version 2.0 deleted

comment:2 Changed 12 years ago by lschiere

  • Type changed from enhancement to task

comment:3 Changed 12 years ago by grim

  • Owner set to grim

this has started on the branch im.pidgin.gobjectification

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

comment:4 Changed 11 years ago by xanderw

i've been working on gobjectification, as some might know (or not).

these patches are basicly an update of grim's gobjectification branch to h:im.pidgin.pidgin (i.e. dc53960d0) with some extra ciphers found in i.p.p. they could be merged in a branch, which i could maintain (although i do not have write access to the mtn-repo) and then merged to i.p.p after we release 2.4.0.

i'll keep working on this, so i'd like some feedback on these patches

comment:5 Changed 11 years ago by sadrul

Do we want/need to put all the cipher stuff in libpurple/cipher/?

comment:6 Changed 11 years ago by xanderw

I certainly want to, but we don't have to. It does clean up libpurple/ considerably.

comment:7 Changed 11 years ago by sadrul

Just to confirm, the attached patches include all the changes from im.pidgin.gobjectification upto c66007e731f462e98b703a91b0ae43a15ca9112d. Right?

comment:8 Changed 11 years ago by xanderw

That is correct, yes.

comment:9 follow-up: Changed 11 years ago by sadrul

xanderw: What name do I use for you in our COPYRIGHT file?

comment:10 Changed 11 years ago by sadrul@…

(In afd0de98d28b3483b0ba8d34d6d2e067074edd3d) A bunch of patches from xanderw to update the gobjectification branch with the changes in i.p.p: 0001-Move-ciphers-around.patch 0002-New-cipher-API.patch 0003-All-cipher-subclasses.patch 0004-Update-libpurple-and-tests.patch 0005-Updates-plugins.patch 0006-Updates-protocols.patch

Things compile and run, apparently. References #35.

comment:11 Changed 11 years ago by sadrul@…

(In 760fcafe15614b682f788c4d95abe462277ed964) Patch from xanderw to have some more cipher stuff. References #35.

comment:12 in reply to: ↑ 9 Changed 11 years ago by xanderw

Replying to sadrul:

xanderw: What name do I use for you in our COPYRIGHT file?

Sorry for my late response (vacation is a good thing, you know ;) )

"Sanne Wouda", in the COPYRIGHT file will be fine, thank you.

I've got some more changes pending: circbuffer classes, eventloop (which should be split in two classes, timeout and input, I think) and uiops (which uses signals more extensively, don't know if this is the way to go, though).

comment:13 Changed 11 years ago by xanderw

My new patches series, as promised. They apply to h:im.pidgin.gobjectification (88df81f5d)

Included are:

uiops circbuffer timeout some extra cipher changes

I'll work on the input class from eventloop.c next, and after that i'm going to get my hands dirty with the connection/account/serv stuff, that should be fun.... I'll probably do some smaller classes to keep me from going crazy.

Any comments are welcome

Changed 11 years ago by xanderw

new uiops class, see timeout class for example use

Changed 11 years ago by xanderw

new circbuff class

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

Changed 11 years ago by xanderw

comment:14 Changed 11 years ago by QuLogic

So I noticed you commented out a few things with '#if 0' in the header files. This sort of breaks the DBus code. I think once GObjectification is done, we can use GLib's DBus stuff, but for the time being I've attached a patch to the python code that ignores parts of headers that are commented out with '#if 0'.

Changed 11 years ago by QuLogic

Ignore sections in '#if 0'/'#endif' when looking for functions for DBus.

comment:15 Changed 11 years ago by sadrul@…

(In 98e04213689606d731ff9c41d4bb7bba1ea5c264):
Patch from QuLogic to make the dbus file generator ignore '#if 0'-ed stuff in the header files. This makes dbus foo compile. References #35.

comment:16 Changed 8 years ago by grim

I created a spreadsheet to track the progress, this includes moving the object to a gobject as well as making sure all the api is there.

https://spreadsheets.google.com/ccc?key=0Ak-I9RlkQAFHdDJ1S2NiTTZLUUhfcW55N04zVDJEUFE&hl=en

comment:17 Changed 4 years ago by salinasv

As my understanding the gobjectification project is done and merged.

Does anyone think otherwise?

comment:18 Changed 4 years ago by mmcco

If I understand correctly:

comment:19 Changed 4 years ago by salinasv

Do you know which parts of the API left? We should focus on get them listed and then converted.

I plan to get some traction on the documentation during this week.

comment:20 Changed 4 years ago by mmcco

I'm not sure which parts are left. Grim's list above is probably a superset of what remains.

I can help with documentation. Let me know and we can start a chatroom or an Etherpad. What has already been documented probably needs to be reviewed, too. I've found and fixed a couple annotations that were out of date.

comment:21 Changed 4 years ago by salinasv

Maybe it worth to just start updating this list to have a good survey of what is done and what is left.

IIRC this list is outdated and some rows does not apply anymore. Let's just try to use it and see how far can we get.

comment:22 Changed 3 years ago by salinasv

I completed a survey on our code and updated the spreadsheet pointed out by grim. This may give a better idea of the state of the GObjectification.

In summary, There is a lot of work to do to GObjectify everything. We are removing some modules in favor of GIO. This should help finish sooner.

comment:23 Changed 3 years ago by grim

  • Resolution set to fixed
  • Status changed from new to closed

The majority of the work is done on the default branch thanks to the awesome work of Ankit. I'm going to close this as done but we should still verify interfaces as we use them and make sure they make sense before we cut 3.0.0.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!