<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On Tue, Jan 29, 2013 at 11:39 AM, Sadrul Habib Chowdhury <span dir="ltr"><<a href="mailto:imadil@gmail.com" target="_blank">imadil@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi! I haven't done much in pidgin land in the last couple of years,<br>
but I do have opinions!</blockquote><div><br></div><div style>Welcome back!</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
On Mon, Jan 21, 2013 at 4:14 PM, Richard Laager <<a href="mailto:rlaager@wiktel.com">rlaager@wiktel.com</a>> wrote:<br>
> On Fri, 2013-01-18 at 23:11 -0800, Mark Doliner wrote:<br>
>>   - Change one struct at a time (preferably directly in main.  Or, if<br>
>> it's done in a separate branch, it should be done in a short amount of<br>
>> time (a few days) and merged into main as soon as possible.)<br>
><br>
> This requires all the struct hiding work to be done. That doesn't appear<br>
> to be the case on the "default" branch currently.<br>
<br>
</div></div>Perhaps the struct hiding can start with some #ifdef hackery:<br>
<br>
    typedef struct _PurpleConversation PurpleConversation;<br>
<br>
    #if defined(PURPLE_INTERNAL_STRUCTS)<br>
    struct _PurpleConversation {<br>
        ...<br>
    };<br>
    #endif<br>
<br>
and -DPURPLE_INTERNAL_STRUCTS gets added to the compile commands from autofoo.<br>
<br>
I seem to remember someone else floated this idea a while back (and I<br>
almost seem to remember we also started doing this in certain places<br>
... but can't find any relevant code)? But this would allow<br>
incremental struct-hiding in the codebase, without exposing the<br>
structs to external (third-party) plugins.<br></blockquote><div><br></div><div style>I don't see why would we need to hide them with #ifdef hackery while we can just delete them in the development branch (3.0.0)</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I did some work on the struct-hiding and gobjectification at some<br>
point; and that work is rather tedious. To make progress on these<br>
areas, the developer needs to be somewhat familiar with the pidgin<br>
codebase and gobject type subtleties (among other things), and needs<br>
to enjoy doing things that don't make any visible difference, or offer<br>
instant gratification. It may be difficult to find someone like this<br>
(which I think is one of the main reasons for the lack of progress in<br>
the gobjectification branch) ... unless maybe they are getting paid to<br>
do this ... summer of code candidate?<br>
<span class="HOEnZb"><font color="#888888"><br>
Sadrul</font></span></blockquote></div><br>I guess you didn't found the code because all that #ifdef were removed when we moved to 3.0.0 development.</div><div class="gmail_extra"><br></div><div class="gmail_extra">From my merge attempt from default to gobjectification branch I can say that most of the merge issues were caused by two different names in the struct hiding effort (one in gobjectification and the other in default branch).</div>

<div class="gmail_extra"><br></div><div class="gmail_extra">I agree it is tedious and it is needed some degree of skills to get it done. Also, I don't really know how broken it would be to have an hybrid (some modules gobjectified and some others no) codebase in default (merging gobjectification to default) and continue the development there. Obviously, there should be someone who wants to do that merge. =)</div>

<div class="gmail_extra"><br></div><div class="gmail_extra" style>My problem now is that we didn't have a clear direction of where we better point our efforts in the code.</div><div class="gmail_extra"><br></div><div class="gmail_extra">

Regards.<br clear="all"><div><br></div>-- <br>Masca<br><br>A: Because it messes up the order in which people normally read text.<br>Q: Why is top-posting such a bad thing?<br>A: Top-posting.<br>Q: What is the most annoying thing on usenet and in e-mail?
</div></div>