summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-05 08:57:02 -0800
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-03-10 09:25:57 -0700
commit160d2ab07155d895991a5198c574fcf26c2e908f (patch)
tree26dedcc04b7cfe5f6a557d5a7b2113dd7d697be2 /core
parent626a149b7c6793dea6db1af23068b90205b65e2a (diff)
downloadsubsurface-160d2ab07155d895991a5198c574fcf26c2e908f.tar.gz
core: make command texts available for C code
Create a C string (which the caller needs to free) with the executed commands in this session. The detour via the callback allows us to not make the corelib depend on the commands, which is nice for tests, export-html, and smtk2ssrf. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'core')
-rw-r--r--core/qthelper.cpp13
-rw-r--r--core/qthelper.h4
2 files changed, 15 insertions, 2 deletions
diff --git a/core/qthelper.cpp b/core/qthelper.cpp
index b00201297..05612a4ce 100644
--- a/core/qthelper.cpp
+++ b/core/qthelper.cpp
@@ -46,7 +46,7 @@ static QLocale loc;
static inline QString degreeSigns()
{
- return QStringLiteral("dD\u00b0");
+ return QStringLiteral("dD\u00b0");
}
QString weight_string(int weight_in_grams)
@@ -1644,3 +1644,14 @@ char *copy_qstring(const QString &s)
{
return strdup(qPrintable(s));
}
+
+// function to call to get changes for a git commit
+QString (*changesCallback)() = nullptr;
+
+extern "C" char *get_changes_made()
+{
+ if (changesCallback != nullptr)
+ return copy_qstring(changesCallback());
+ else
+ return nullptr;
+}
diff --git a/core/qthelper.h b/core/qthelper.h
index 4c3a6aa19..c91712716 100644
--- a/core/qthelper.h
+++ b/core/qthelper.h
@@ -83,6 +83,8 @@ QVector<QPair<QString, int>> selectedDivesGasUsed();
QString getUserAgent();
QString printGPSCoords(const location_t *loc);
+extern QString (*changesCallback)();
+
#if defined __APPLE__
#define TITLE_OR_TEXT(_t, _m) "", _t + "\n" + _m
#else
@@ -150,7 +152,7 @@ depth_t string_to_depth(const char *str);
pressure_t string_to_pressure(const char *str);
volume_t string_to_volume(const char *str, pressure_t workp);
fraction_t string_to_fraction(const char *str);
-
+char *get_changes_made();
#ifdef __cplusplus
}
#endif