Re: using a factory to control instances
- From: Jacob Perkins <jap1 users sourceforge net>
- To: Michael Meeks <michael ximian com>
- Cc: bonobo <gnome-components-list gnome org>
- Subject: Re: using a factory to control instances
- Date: 24 Apr 2003 09:29:57 -0500
On Thu, 2003-04-24 at 03:04, Michael Meeks wrote:
> Hi Jacob,
>
> On Thu, 2003-04-24 at 05:12, Jacob Perkins wrote:
> > I want to use a bonobo factory for creating controls (or any
> > BonoboObject). I already have a setup working that was basically copied
> > from the sample control in libbonoboui. However, I only want one
> > instance of this control. So, given 'moniker', I want to create a new
> > BonoboObject if it doesn't exist yet, or return the already created one.
> > However, if given 'moniker:new', I want to create a new instance of the
> > object. Since there are no guarentees as to which process will request
> > the first instance, how do I do this. To make it simple, how would one
> > modify the sample control to support this?
> > I know this can be done with a static variable or object, but it seems
> > that factories should provide a better way to do this.
>
> So - your factory is likely to be a singleton across processes (
> assuming it is an executable and not a shared object ); So I guess you
> can aggregate things to the factory (the singleton), and the result of
> :new will be what comes out of the factory ;-)
>
> All method invocations on those objects will be processed in the same
> process though - so, it's fairly easy to get it to work.
>
> What are you trying to achieve though ?
I originally wanted a control widget(s) where one instance could be
embedded multiple places, but after some experiments using BonoboWidget,
it seems that will not work (and even if it did, I don't think I really
want that now).
What I do still want is basically a singleton object (context) that can
be shared between processes, and in only a select few instances will a
new instance of the object be required. But I guess using a static
object to control the instances is the way to go here.
The specific reason is for seahorse: if keys are imported from nautilus,
I want them to be automatically listed in the key-manager (if it is
running).
--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]