16#ifndef SIMICS_SYSTEMC_INSTRUMENTATION_TOOL_CONNECTION_INTERFACE_H
17#define SIMICS_SYSTEMC_INSTRUMENTATION_TOOL_CONNECTION_INTERFACE_H
19#include <simics/device-api.h>
26namespace instrumentation {
33 virtual const std::vector<std::string> &
functions()
const = 0;
36 virtual ConfObjectRef
tool()
const = 0;
39 template<
class TInterface>
43 return dynamic_cast<TInterface *
>(
this);
45 simics::ConfObject *obj = simics::from_obj<simics::ConfObject>(
47 return dynamic_cast<TInterface *
>(obj);