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
23 lines
902 B
Plaintext
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__
|