Hi fellow wiki editors!

To help newly registered users get more familiar with the wiki (and maybe older users too) there is now a {{Welcome to the wiki}} template. Have a look at it and feel free to add it to new users discussion pages (and perhaps your own).

I have tried to keep the template short, but meaningful. /Johan G

User:Callahanp/Flightgear and Simgear Code/Manager Modules

From FlightGear wiki
Jump to: navigation, search

There is a lot of material related to specific manager modules already in the wiki. The first order of business is to read them in detail. Then I'll attempt to catalog the existing modules with links to existing material. Finally, any manager modules that have not been examined elsewhere are candidates for in depth exploration. Because individual modules are important enough to have existing wiki pages covering some of them, we should continue with that practice and this page should only point to a catalog of them: [Manager Modules]

I will collect information covering Manager Modules in general. I'll present that information here initially. After discussion with the core developers and revision, this material may be moved to Manager Modules

Manager Modules

A manager module is one that provides and controls the services provided to the overall system by one or more classes, data objects or methods:

  • control the instantiation of objects in one or more specific classes
  • centralize or provide a gateway for access to the objects
  • orchestrate the execution of methods

Existing information on Manager Modules

List of Manager Module code files

  • subsystems
  • Events
    • simgear/structure/event_mgr.*xx
  • Sound
    • flightgear/src/Sound/soundmanager.*xx
    • simgear/sound/soundmgr_aeonwave.*xx
    • simgear/simgear/sound/soundmgr_openal.*xx
    • simgear/sound/soundmgr_openal_private.hxx
  • Airports
    • flightgear/src/Airports/airportdynamicsmanager.*xx
  • Environment
    • flightgear/src/Environment/magvarmanager.hxx
    • ./flightgear/src/Environment/environment_mgr.*xx
    • ./flightgear/src/Environment/precipitation_mgr.*xx
  • Multiplayer
    • ./flightgear/src/MultiPlayer/multiplaymgr.*xx
  • Autopilot
    • ./flightgear/src/Autopilot/route_mgr.*xx
  • Model
    • ./flightgear/src/Model/modelmgr.*xx
  • Scenery
    • ./flightgear/src/Scenery/tilemgr.*xx
  • Instrumentation
    • ./flightgear/src/Instrumentation/instrument_mgr.*xx
  • ATC
    • ./flightgear/src/ATC/atc_mgr.*xx
  • Systems
    • ./flightgear/src/Systems/system_mgr.*xx
  • Canvas
    • ./flightgear/src/Canvas/canvas_mgr.*xx
    • ./flightgear/src/Canvas/gui_mgr.*xx
  • View
    • ./flightgear/src/Viewer/viewmgr.*xx

Out of Scope but Worth Reading

As you review the material, you'll note that the issues of modular, distributed and parallel processing are frequently discussed on the flightgear mailing list. This discussion is out of the scope of manager modules as implemented in Flightgear as of early 2018, but it is relevant as background material. I believe knowing about this ongoing discussion is essential to understanding the overall Flighgear project.

Modularizing, parallelizing and distributing FlightGear

Questions about information in [Modularizing, parallelizing and distributing FlightGear]

  • Note the warning at the top
  • How up to date is the information in this wiki page?
  • The page originated in 2007.
  • The bulk of the page is a list of topics covered in mailing list discussions of its title's topics. there references to mailing list discussions as early as 2002. I haven't checked all of them, but most are between 2009 and 2012.
  • It provides some information on how the SGSubsystem works, by using SGSubsystem as a model for other kinds of systems that would not be part of the core of flightgear.

Previous notes on subsystems