diff options
author | Thomas Schuetz | 2012-02-01 16:53:05 +0000 |
---|---|---|
committer | Thomas Schuetz | 2012-02-01 16:53:05 +0000 |
commit | 68374559c8cf752b62ef9215dafda1c5f891b09e (patch) | |
tree | b83dd6ee8156a4252e306631e0d1823b79d19aa4 /runtime/org.eclipse.etrice.runtime.c | |
parent | 488cba1972de3ffff229cd754a774931045a2b04 (diff) | |
download | org.eclipse.etrice-68374559c8cf752b62ef9215dafda1c5f891b09e.tar.gz org.eclipse.etrice-68374559c8cf752b62ef9215dafda1c5f891b09e.tar.xz org.eclipse.etrice-68374559c8cf752b62ef9215dafda1c5f891b09e.zip |
[runtime.c] added MSC Logger to runtime.c
Diffstat (limited to 'runtime/org.eclipse.etrice.runtime.c')
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/Debug/liborg.eclipse.etrice.runtime.c.a | bin | 104764 -> 120968 bytes | |||
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.c | 57 | ||||
-rw-r--r-- | runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.h | 51 |
3 files changed, 108 insertions, 0 deletions
diff --git a/runtime/org.eclipse.etrice.runtime.c/Debug/liborg.eclipse.etrice.runtime.c.a b/runtime/org.eclipse.etrice.runtime.c/Debug/liborg.eclipse.etrice.runtime.c.a Binary files differindex 6e41f9bd0..81c945ba4 100644 --- a/runtime/org.eclipse.etrice.runtime.c/Debug/liborg.eclipse.etrice.runtime.c.a +++ b/runtime/org.eclipse.etrice.runtime.c/Debug/liborg.eclipse.etrice.runtime.c.a diff --git a/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.c b/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.c new file mode 100644 index 000000000..3d641aac0 --- /dev/null +++ b/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.c @@ -0,0 +1,57 @@ +/******************************************************************************* + * Copyright (c) 2012 protos software gmbh (http://www.protos.de). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * CONTRIBUTORS: + * Thomas Schuetz (initial contribution) + * + *******************************************************************************/ + +#include "etMSCLogger.h" + +#include "etLogger.h" + +static etFileHandle etMSCLogger_fileHandle = NULL; +static char* etMSCLogger_objectName = ""; + +#define ET_MAX_FILENAME_LEN 256 + +void etMSCLogger_open(char* logPath, char* mscName){ + char path[ET_MAX_FILENAME_LEN]; + sprintf(path, "%s/%s.seq", logPath, mscName); + etMSCLogger_fileHandle = etLogger_fopen(path, "w+"); +} + +void etMSCLogger_close(void){ + if (etMSCLogger_fileHandle != NULL){ + etLogger_fclose(etMSCLogger_fileHandle); + } + +} + +void etMSCLogger_setObjectName(char* objectName){ + etMSCLogger_objectName = objectName; +} + +char* etMSCLogger_getObjectName(void){ + return etMSCLogger_objectName; +} + +void etMSCLogger_syncCall(char* sourceName, char* messageName, char* targetName){ + etLogger_fprintf(etMSCLogger_fileHandle, "%s ==> %s %s\n", sourceName, targetName, messageName); +} + +void etMSCLogger_syncReturn(char* sourceName, char* targetName){ + etLogger_fprintf(etMSCLogger_fileHandle, "%s <== %s\n", sourceName, targetName); +} + +void etMSCLogger_asyncOut(char* sourceName, char* messageName, char* targetName){ + etLogger_fprintf(etMSCLogger_fileHandle, "%s >-- %s %s\n", sourceName, targetName, messageName); +} + +void etMSCLogger_asyncIn(char* sourceName, char* messageName, char* targetName){ + etLogger_fprintf(etMSCLogger_fileHandle, "%s --> %s %s\n", sourceName, targetName, messageName); +} diff --git a/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.h b/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.h new file mode 100644 index 000000000..71e2dfe74 --- /dev/null +++ b/runtime/org.eclipse.etrice.runtime.c/src/etMSCLogger.h @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2012 protos software gmbh (http://www.protos.de). + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * CONTRIBUTORS: + * Thomas Schuetz (initial contribution) + * + *******************************************************************************/ + +#ifndef _ETMSCLOGGER_H_ +#define _ETMSCLOGGER_H_ + +#define ET_MSC_LOGGER_ACTIVATE + +void etMSCLogger_open(char* logPath, char* mscName); +void etMSCLogger_close(void); + +void etMSCLogger_setObjectName(char* objectName); +char* etMSCLogger_getObjectName(void); + +void etMSCLogger_syncCall(char* sourceName, char* messageName, char* targetName); +void etMSCLogger_syncReturn(char* sourceName, char* targetName); + +void etMSCLogger_asyncOut(char* sourceName, char* messageName, char* targetName); +void etMSCLogger_asyncIn(char* sourceName, char* messageName, char* targetName); + +#ifdef ET_MSC_LOGGER_ACTIVATE + #define ET_MSC_LOGGER_OPEN(object) \ + etMSCLogger_open("tmp", "msc"); \ + etMSCLogger_setObjectName(object); + + #define ET_MSC_LOGGER_CLOSE etMSCLogger_close(); + + #define ET_MSC_LOGGER_SYNC_ENTRY(object, message) \ + char* sourceName = etMSCLogger_getObjectName(); \ + char* targetName = object; \ + etMSCLogger_syncCall(sourceName, message, targetName); \ + etMSCLogger_setObjectName(targetName); + + #define ET_MSC_LOGGER_SYNC_EXIT() \ + etMSCLogger_syncReturn(sourceName, targetName); \ + etMSCLogger_setObjectName(sourceName); + +#else +#endif + + +#endif /* _ETMSCLOGGER_H_ */ |