From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51508) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rs8Qm-0003bO-OY for qemu-devel@nongnu.org; Tue, 31 Jan 2012 02:47:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rs8Qj-0005DO-B7 for qemu-devel@nongnu.org; Tue, 31 Jan 2012 02:47:08 -0500 Received: from mail-yw0-f45.google.com ([209.85.213.45]:50326) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rs8Qj-0005DK-7R for qemu-devel@nongnu.org; Tue, 31 Jan 2012 02:47:05 -0500 Received: by yhjj63 with SMTP id j63so101368yhj.4 for ; Mon, 30 Jan 2012 23:47:04 -0800 (PST) Sender: Paolo Bonzini Message-ID: <4F279C73.1020909@redhat.com> Date: Tue, 31 Jan 2012 08:46:59 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1327957741-5842-1-git-send-email-aliguori@us.ibm.com> <1327957741-5842-17-git-send-email-aliguori@us.ibm.com> In-Reply-To: <1327957741-5842-17-git-send-email-aliguori@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 17/23] qom: move properties from qdev to object List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Peter Maydell , Andreas Faerber , qemu-devel@nongnu.org On 01/30/2012 10:08 PM, Anthony Liguori wrote: > This is mostly code movement although not entirely. This makes properties part > of the Object base class which means that we can now start using Object in a > meaningful way outside of qdev. Can we move them to an intermediate base class? I would like to use QOM refcounting for other objects, such as SCSIRequest, so it is important to have Object as a pretty light-weight class. Also (and perhaps more importantly), interface implementations are Objects too and they do not need properties. I cannot think of any better name than IntrospectableObject, which is quite a mouthful. I suppose that we could have the base class but still pass the objects to the function as Object * and use the OBJECT macro. Nothing of this is in a hot path anyway. Paolo