import-trace: alias-based (importer) registry

This change implements a generic registry in order to clean up import-trace's
code - it's possible (and reasonable) to use the registry for pruners as well.
Importer now extends AliasedRegisterable; all importers have been adapted
to suit the interface/abstract methods.
Each AliasedRegisterable should have at least one alias (the class' name
is a sensible choice) but can have several. The first specified alias is
the class' prime alias which can be used e.g. to list all registered objects.

Change-Id: If6daa34edce35a3b0194e4ba67ed3b44b74a49b0
This commit is contained in:
Michael Lenz
2014-02-25 09:36:42 +01:00
parent 77b9b08a89
commit af92a751d9
13 changed files with 207 additions and 34 deletions

View File

@ -20,6 +20,11 @@ protected:
virtual bool add_trace_event(margin_info_t &begin, margin_info_t &end,
Trace_Event &event, bool is_fake = false);
virtual bool trace_end_reached();
public:
void getAliases(std::deque<std::string> *aliases) {
aliases->push_back("FullTraceImporter");
}
};
#endif