[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSWHackers] HasGSWComponents entry in info plists?
From: |
Nicola Pero |
Subject: |
Re: [GSWHackers] HasGSWComponents entry in info plists? |
Date: |
Mon, 23 Sep 2002 13:01:36 +0100 (BST) |
> Sorry, my sentence was not very good.
> I haven't tested speed difference between version with this kv
> and without it but for each searched component, gsweb search
> for multiple files (possible language 1, language 2...., gsweb
> extension, wo extension,...) in EACH bundle.
> If there's only 1 or 2 bundles and only few languages, the difference
> may be very small but when you have projects with
> many bundles without gswcomponents) and many languages, I think the use
> of this kv make the search (very ?) faster
> by ignoring some of the bundles in the search.
Hmmm. Quite interesting.
Can I summarize what I understood ?
There is an API by which you can request the path to a certain gsw
component. To find the component, the library loops on all bundles in the
application, and looks for the component in there (scanning all languages
and possible extensions [.gsw or .wo]). It then returns the first match.
What about keeping a table of available components then ? At start up,
you scan all already loaded bundles using +allBundles, and record all .gsw
and .wo components (that is, I think, resource directories with a .gsw or
.wo extension, localized or not) you find in a table. Then, you register
for the NSBundleDidLoad notification; when you get that notification, you
check for the components in the newly loaded bundle, and add them to the
table.
Once you get a request for a component, you only have to get it from the
table.
Maybe it's not appropriate, anyway I thought I'd say it.
> >| Shall we (Nicola?) now include the HasGSWComponents stuff
> >| in the makefiles or shall I kick that that out of GSWeb?
>
> Yes, I think we should include it.
If we are to include HasGSWComponents, why not making it automatical ? I
think it would be annoying to have to set it manually.
I mean, if xxx_WEBSERVER_COMPONENTS (or
xxx_WEBSERVER_LOCALIZED_COMPONENTS) is not empty, gnustep-make would set
HasGSWComponents=YES; if it is empty, it would not set it.
I can easily/trivially implement this behaviour if it's deemed correct.