#ifndef TCI_TM_H
#define TCI_TM_H

#include "Shared/TciC.h"
#include "Shared/TriStructs.h"


//9.4.1.1 TCI-TM provided
void tciTestCaseStarted(TciTestCaseIdType testCaseId, TciParameterListType parameterList, double timer);
void tciTestCaseTerminated (VerdictValue verdict, TciParameterListType parameterlist);
void tciControlTerminated();
Value tciGetModulePar (TciModuleParameterIdType parameterId);
void tciLog(String message);
void tciError(String message);

//9.4.1.2 TCI-TM required
void tciRootModule(String moduleId);
TciModuleIdListType tciGetImportedModules();
TciModuleParameterListType tciGetModuleParameters(TciModuleIdType moduleName);
TciTestCaseIdListType tciGetTestCases();
TciParameterTypeListType tciGetTestCaseParameters (TciTestCaseIdType testCaseId);
TriPortIdList tciGetTestCaseTSI (TciTestCaseIdType testCaseId);
void tciStartTestCase (TciTestCaseIdType testCaseId, TciParameterListType parameterlist);
void tciStopTestCase();
TriComponentId tciStartControl();
void tciStopControl();
#endif
