Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: b1720cec533e6e710f65065d0dfce27d6a3c2669 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*******************************************************************************
 * 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_

#include "etGlobalFlags.h"

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
	#define ET_MSC_LOGGER_OPEN
	#define ET_MSC_LOGGER_CLOSE

	#define ET_MSC_LOGGER_SYNC_ENTRY(object, message)
	#define ET_MSC_LOGGER_SYNC_EXIT
#endif


#endif /* _ETMSCLOGGER_H_ */

Back to the top