1
0
Fork 0
flightgear/tests
Florent Rougon 48f52f14c4 Improved infrastructure for add-ons: C++ classes, metadata file, Nasal interface
This commit adds C++ classes for add-on management, most notably
AddonManager, Addon and AddonVersion. The AddonManager is used to
register add-ons. It relies on an std::map<std::string, AddonRef> to
hold the metadata of each registered add-on (keys of the std::map are
add-on identifiers, and AddonRef is currently SGSharedPtr<Addon>).
Accessor methods are available for:

  - retrieving the list of registered or loaded add-ons (terminology
    explained in $FG_ROOT/Docs/README.add-ons);

  - checking if a particular add-on has already been registered or
    loaded;

  - for each add-on, obtaining an Addon instance which can be queried
    for its name, id, version, base path, the minimum and maximum
    FlightGear versions it requires, its base node in the Property Tree,
    its order in the load sequence, short and long description strings,
    home page, etc.

The most important metadata is made accessible in the Property Tree
under /addons/by-id/<addon-id> and the property
/addons/by-id/<addon-id>/loaded can be checked or listened to, in
order to determine when a particular add-on is loaded. There is also a
Nasal interface to access add-on metadata in a convenient way.

In order to provide this metadata, each add-on must from now on have in
its base directory a file called 'addon-metadata.xml'.

All this is documented in much more detail in
$FG_ROOT/Docs/README.add-ons.

Mailing-list discussion:

  https://sourceforge.net/p/flightgear/mailman/message/36146017/
2017-12-08 00:36:41 +01:00
..
.gitignore Ignore generated files 2010-06-02 11:27:16 +02:00
alcinfo.cxx KIll off ALUT now it's gone from SimGear 2012-08-22 00:10:00 +01:00
CMakeLists.txt Improved infrastructure for add-ons: C++ classes, metadata file, Nasal interface 2017-12-08 00:36:41 +01:00
est-epsilon.cxx John Denker: 2009-12-09 08:15:09 +01:00
fake_sgPrecipitation.cxx Partial testing framework. 2017-03-25 15:35:26 +00:00
fake_sgSky.cxx Return reference to non temporary string. 2017-04-06 18:26:26 +09:00
fake_sgSky.hxx Partial testing framework. 2017-03-25 15:35:26 +00:00
fake_sound.cxx Partial testing framework. 2017-03-25 15:35:26 +00:00
fakeAIAircraft.hxx Added the core of the AI wake computations with its tests. 2017-06-10 18:27:19 +02:00
fgTestDriver.cxx Partial testing framework. 2017-03-25 15:35:26 +00:00
gl-info.cxx John Denker: 2009-12-09 08:15:09 +01:00
test-env-map.cxx test for the presence of alut.h. if it's not found only display a warning message in gl-info and test-env-map. A clean build without glut installed is now possible. 2009-09-09 08:56:32 +02:00
test-gethostname.cxx Initial revision. 2001-03-22 04:19:12 +00:00
test-mktime.cxx Martin Spott: Use standardized Sun directive. 2005-10-06 11:08:26 +00:00
test-text.cxx Type consistency. 2007-05-16 16:47:13 +00:00
test-up.cxx Even more imlicit includes becoming explicit. 2010-08-07 14:07:17 +01:00
test_flightplan.cxx Retain signedness of numLegs to avoid unsigned/signed comparison. 2017-04-06 18:26:09 +09:00
test_ls_matrix.cxx Fixed LaRCSim matrix computation routines. 2017-06-05 17:18:52 +02:00
test_navaids2.cxx Partial testing framework. 2017-03-25 15:35:26 +00:00
testAeroElement.cxx Added the core of the AI wake computations with its tests. 2017-06-10 18:27:19 +02:00
testAeroMesh.cxx Added the core of the AI wake computations with its tests. 2017-06-10 18:27:19 +02:00
testStubs.cxx Fix broken build due to undef'd ref in test_flightplan 2017-05-12 09:22:41 +02:00
unitTestHelpers.cxx Unit-test for initPosition. 2017-03-27 15:38:05 +01:00
unitTestHelpers.hxx Unit-test for initPosition. 2017-03-27 15:38:05 +01:00