Re: [libosinfo] Improve list API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Dec 10, 2012 at 11:14 PM, Zeeshan Ali (Khattak)
<zeeshanak@xxxxxxxxx> wrote:
> On Fri, Dec 7, 2012 at 4:06 PM, Zeeshan Ali (Khattak)
> <zeeshanak@xxxxxxxxx> wrote:
>> On Fri, Dec 7, 2012 at 11:34 AM, Christophe Fergeau <cfergeau@xxxxxxxxxx> wrote:
>>> Hi,
>>>
>>> libosinfo has various *List classes which basically are a GObject class
>>> wrapping a hash table of objects of a specific type. Each of these classes
>>> implements osinfo_list_new_filtered, osinfo_list_new_copy, ... probably
>>> because of c&p.
>
> I don't think that is the case. The issue is that these functions
> should have been virtual so if you call osinfo_list_new_*() on an
> instance of subclass, you get an instance of subclass (although in the
> form of OsinfoList). Now with these method deprecated in subclasses,
> apps now have to deal with different classes depending on whether or
> not they needed to call any of these methods (e.g whether or not they
> needed to filter a list).
>
> This Boxes patch should give you an idea of the issue I'm talking
> about: http://bugzilla-attachments.gnome.org/attachment.cgi?id=231171
>
> Now the problem is that we can't make these methods virtual without
> breaking the ABI. Which is where another of our failures show-up. To
> avoid ABI breakage, its really important to keep redudant padding in
> class structs and we never added those before declaring libosinfo ABI
> stable. :(

NM everything I said in first 3 paragraphs above. You ensured that we
return list of the correct type. I only saw it in the code after you
pointed it out on IRC..

-- 
Regards,

Zeeshan Ali (Khattak)
FSF member#5124

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list


[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux