freeride-devel
[Top][All Lists]
Advanced

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

Re: [FR-devel] Problem with RUNNING state


From: Laurent Julliard
Subject: Re: [FR-devel] Problem with RUNNING state
Date: Wed, 26 Jun 2002 22:22:59 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020529

Rich Kilmer wrote:
[...snip good stuff...]

In this example, the subsystem tag <subsystem name="GuiCore"> is just a
holder of multiple <plugin> tags.  When core.rb parses this file it
merely iterates over the contained <plugin> tags and creates them.  The
subsystem is not represented in the running FreeBASE system and the name
is ignored.  What I propose is that when the core.rb file reads in an
xml file that contains a <subsystem name="..."> tag it creates a plugin
(just like the <plugin> tag does) that is named as specified (GuiCore)
and has a dependency of all the plugins within it.  It would be like
doing this:

  <plugin name="GuiCore" version="1.0" autoload="true">
    <module>FreeBASE::SubsystemPlugin</module>
    <dependency state="LOADED" action="start">
      <when plugin="GuiSetup" version="*" state="RUNNING"/>
      <when plugin="AppFrames" version="*" state="RUNNING"/>
      <when plugin="MenuBars" version="*" state="RUNNING"/>
      <when plugin="MenuPanes" version="*" state="RUNNING"/>
      <when plugin="EditPanes" version="*" state="RUNNING"/>
    </dependency>
  </plugin>

This would allow something that depends on this entire subsystem to be
dependant on it instead of its components.

  <plugin name="FooPlugin" version="1.0" autoload="true">
    <require>...</require>
    <module>...</module>
    <dependency state="LOADED" action="start">
      <when plugin="GuiCore" version="*" state="RUNNING"/>
    </dependency>
  </plugin>

Does this make sense?

Yes it does. Your previous message confused me because I thought what you were describing was already feasible with the current core.rb implementation.

Do you think you'll have time to modify core.rb to integrate this new feature soon?

Laurent








reply via email to

[Prev in Thread] Current Thread [Next in Thread]