Skip to content

Commit

Permalink
Make internal copy of instance name, ticket:4130
Browse files Browse the repository at this point in the history
  • Loading branch information
rfranke authored and OpenModelica-Hudson committed Nov 8, 2016
1 parent d1a6452 commit 844621f
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
6 changes: 3 additions & 3 deletions SimulationRuntime/cpp/Include/FMU2/FMU2Wrapper.cpp
Expand Up @@ -56,9 +56,9 @@ fmi2String FMU2Wrapper::LogCategoryFMUName(LogCategoryFMU category) {
FMU2Wrapper::FMU2Wrapper(fmi2String instanceName, fmi2String GUID,
const fmi2CallbackFunctions *functions,
fmi2Boolean loggingOn) :
_global_settings(), _functions(*functions), logger(_functions.logger),
componentEnvironment(_functions.componentEnvironment),
instanceName(_instanceName), logCategories(_logCategories)
_global_settings(),
_functions(*functions),
logger(_functions.logger)
{
_instanceName = instanceName;
_GUID = GUID;
Expand Down
20 changes: 13 additions & 7 deletions SimulationRuntime/cpp/Include/FMU2/FMU2Wrapper.h
Expand Up @@ -45,8 +45,8 @@

// define logger as macro that passes through variadic args
#define FMU2_LOG(w, status, category, ...) \
if ((w)->logCategories & (1 << (category))) \
(w)->logger((w)->componentEnvironment, (w)->instanceName, \
if ((w)->logCategories() & (1 << (category))) \
(w)->logger((w)->componentEnvironment(), (w)->instanceName(), \
status, (w)->LogCategoryFMUName(category), __VA_ARGS__)

enum LogCategoryFMU {
Expand Down Expand Up @@ -74,10 +74,16 @@ class FMU2Wrapper
virtual fmi2Status setDebugLogging(fmi2Boolean loggingOn,
size_t nCategories,
const fmi2String categories[]);
const unsigned int &logCategories;
const fmi2CallbackLogger &logger;
const fmi2ComponentEnvironment &componentEnvironment;
const fmi2String &instanceName;
unsigned int logCategories() {
return _logCategories;
}
fmi2ComponentEnvironment componentEnvironment() {
return _functions.componentEnvironment;
}
fmi2String instanceName() {
return _instanceName.c_str();
}
static fmi2String LogCategoryFMUName(LogCategoryFMU);

// Enter and exit initialization mode, terminate and reset
Expand Down Expand Up @@ -154,8 +160,8 @@ class FMU2Wrapper
} ModelState;

unsigned int _logCategories;
fmi2String _instanceName;
fmi2String _GUID;
string _instanceName;
string _GUID;
fmi2CallbackFunctions _functions;
ModelState _state;
};
Expand Down

0 comments on commit 844621f

Please sign in to comment.