Files
fail/src/experiments/instantiate-experiment-indirect.ah.in
Horst Schirmeier 12b539ff75 misc cleanups
This change touches several subsystems, tools and experiments
(sal, util, cmake, import-trace, generic-tracing, nanojpeg), and
changes details not worth separate commits.

Change-Id: Icd1d664d1be5cfc2212dbf77801c271183214d08
2013-09-10 17:37:25 +02:00

23 lines
902 B
Plaintext

#ifndef __INSTANTIATE_@EXPERIMENT_TYPE@_AH__
#define __INSTANTIATE_@EXPERIMENT_TYPE@_AH__
// Use this indirect variant of experiment instantiation if your experiment.hpp
// includes generated headers (e.g., protobuf message definitions) that are not
// guaranteed to exist when the aspect is woven.
// You need to provide the implementation of this function in your experiment
// directory:
void instantiate@EXPERIMENT_TYPE@();
// The experiment needs to be instantiated dynamically (on the stack, or the
// heap), as the ExperimentFlow destructor deregisters from the
// CoroutineManager which may not exist anymore if the global
// construction/destruction order is inappropriate.
aspect @EXPERIMENT_TYPE@ExperimentHook {
advice execution ("void fail::SimulatorController::initExperiments()") : after () {
instantiate@EXPERIMENT_TYPE@();
}
};
#endif // __INSTANTIATE_@EXPERIMENT_TYPE@_AH__