subsurface/core
Berthold Stoeger 9c253ee6c5 core: introduce divelog structure
The parser API was very annoying, as a number of tables
to-be-filled were passed in as pointers. The goal of this
commit is to collect all these tables in a single struct.
This should make it (more or less) clear what is actually
written into the divelog files.

Moreover, it should now be rather easy to search for
instances, where the global logfile is accessed (and it
turns out that there are many!).

The divelog struct does not contain the tables as substructs,
but only collects pointers. The idea is that the "divelog.h"
file can be included without all the other files describing
the numerous tables.

To make it easier to use from C++ parts of the code, the
struct implements a constructor and a destructor. Sadly,
we can't use smart pointers, since the pointers are accessed
from C code. Therfore the constructor and destructor are
quite complex.

The whole commit is large, but was mostly an automatic
conversion.

One oddity of note: the divelog structure also contains
the "autogroup" flag, since that is saved in the divelog.
This actually fixes a bug: Before, when importing dives
from a different log, the autogroup flag was overwritten.
This was probably not intended and does not happen anymore.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2023-04-14 21:20:23 +02:00
..
settings core: move floating point functions to own header file 2022-08-30 22:34:38 +02:00
subsurface-qt Allow editing sensors through equipment tab 2022-03-12 11:24:50 -08:00
android.cpp core: move device related functions from display.h to device.h 2022-03-13 15:07:33 -07:00
btdiscovery.cpp Ratio BLE detection fix 2022-08-30 07:20:33 -07:00
btdiscovery.h bluetooth discovery: report more information about progress 2020-09-30 16:40:41 -07:00
checkcloudconnection.cpp Collect and convert git repo data to 'struct git_info' 2022-04-17 22:14:34 -07:00
checkcloudconnection.h cloudstorage: try alternative server if first connection fails 2021-04-19 12:51:01 -07:00
cloudstorage.cpp mobile: add ability to delete cloud account 2022-08-13 14:08:37 -07:00
cloudstorage.h mobile: add ability to delete cloud account 2022-08-13 14:08:37 -07:00
CMakeLists.txt core: introduce divelog structure 2023-04-14 21:20:23 +02:00
cochran.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
cochran.h
color.cpp profile: rename GF_LINE color to DURATION_LINE 2021-05-08 13:40:24 +02:00
color.h cleanup: prevent distracing conversion warnings 2022-03-12 08:28:32 -08:00
compressibility.r
configuredivecomputer.cpp Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
configuredivecomputer.h Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
configuredivecomputerthreads.cpp Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
configuredivecomputerthreads.h Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
datatrak.h Cleanup: const-ify functions taking dives and divecomputers 2018-08-23 14:41:01 -07:00
deco.c planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
deco.h planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
device.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
device.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
devicedetails.cpp Cleanup: Remove 'data' field from 'DeviceDetails'. 2023-01-31 10:54:39 +01:00
devicedetails.h Cleanup: Remove 'data' field from 'DeviceDetails'. 2023-01-31 10:54:39 +01:00
dive.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
dive.h Prefer real data over planned 2022-08-25 13:38:12 -07:00
divecomputer.c profile: register event names on creation of events 2023-02-17 06:46:46 -08:00
divecomputer.h core: add make_manually_added_dc() function 2022-10-21 16:51:57 -07:00
divefilter.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divefilter.h filter: provide function that returns all shown dives 2020-12-29 08:34:09 -08:00
divelist.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divelist.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divelog.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divelog.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divelogexportlogic.cpp cleanup: remove unused variable 2022-09-03 13:49:02 -07:00
divelogexportlogic.h avoid duplicate and inconsistent applying of QDir::separator() 2019-03-27 07:36:33 -07:00
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp Dive site: use own copy of taxonomy in dive-site-edit widget 2018-10-13 21:41:41 -04:00
divesite.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divesite.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divesitehelpers.cpp cleanup: replace QRegExp with QRegularExpression 2021-10-27 12:33:20 -07:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp Re-do the libdivecomputer fingerprint save/load code 2021-09-19 16:51:46 -07:00
downloadfromdcthread.h Re-do the libdivecomputer fingerprint save/load code 2021-09-19 16:51:46 -07:00
equipment.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
equipment.h cylinders: add cylinder before hidden cylinders 2021-12-13 11:54:24 -08:00
errorhelper.c clean up logging, and add error reports to it too 2022-08-31 13:58:34 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
event.c profile: register event names on creation of events 2023-02-17 06:46:46 -08:00
event.h profile: redo eventname handling 2023-02-17 06:46:46 -08:00
eventname.cpp profile: redo eventname handling 2023-02-17 06:46:46 -08:00
eventname.h profile: redo eventname handling 2023-02-17 06:46:46 -08:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
file.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
file.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
filterconstraint.cpp core: use range-based for loops in filterconstraints 2022-10-30 21:57:44 +01:00
filterconstraint.h filter: add tank size filter constraint 2020-10-03 10:29:15 -07:00
filterpreset.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
filterpreset.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
format.cpp core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
format.h
fulltext.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
fulltext.h fulltext: remember original query 2020-09-29 16:13:03 -07:00
gas-model.c Show correct gas density in CCR mode 2022-11-08 10:43:47 -08:00
gas.c cleanup: fix narrowing type conversion warning 2022-01-02 13:51:07 -08:00
gas.h Show correct gas density in CCR mode 2022-11-08 10:43:47 -08:00
gaspressures.c core: fold display.h into profile.h 2022-03-13 15:07:33 -07:00
gaspressures.h cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gettext.h
gettextfromc.cpp Localization: make cache thread safe and robust against use-after-free 2018-06-24 20:31:14 +02:00
gettextfromc.h Localization: remove gettextFromC::instance() 2018-06-24 20:31:14 +02:00
git-access.c git access: add proper cleanup function for git_info 2022-04-22 08:28:17 -07:00
git-access.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
globals.cpp core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
globals.h core: add class that collects global objects to be deleted on exit 2022-03-16 13:06:06 -07:00
imagedownloader.cpp core: add "transparent" parameter to renderSVGIcon 2021-01-01 21:10:10 +01:00
imagedownloader.h Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
import-cobalt.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-csv.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-csv.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-divinglog.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-seac.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-shearwater.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
import-suunto.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp core: move device related functions from display.h to device.h 2022-03-13 15:07:33 -07:00
libdivecomputer.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
libdivecomputer.h Re-do the libdivecomputer fingerprint save/load code 2021-09-19 16:51:46 -07:00
liquivision.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
load-git.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
macos.c core: move device related functions from display.h to device.h 2022-03-13 15:07:33 -07:00
membuffer.cpp core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
membuffer.h core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
metadata.cpp cleanup: fix SkipEmptyParts warning for mobile 2021-11-24 10:53:26 -08:00
metadata.h Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
metrics.cpp core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
metrics.h core: remove DPR from IconMetrics class 2021-12-17 11:54:23 -08:00
namecmp.h Qt6: deal with changes from QStringRef to QStringView 2022-03-12 08:28:32 -08:00
ostctools.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
parse-gpx.cpp Qt6: deal with changes from QStringRef to QStringView 2022-03-12 08:28:32 -08:00
parse-gpx.h cleanup: only include QString in desktop-widgets/importgps.h 2020-05-01 09:42:31 -07:00
parse-xml.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
parse.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
parse.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
picture.c core/picture: don't compile all on mobile 2020-11-19 17:18:33 -08:00
picture.h core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c Standardised how divedatapoints are created. 2023-02-17 10:53:04 +01:00
planner.h Standardised how divedatapoints are created. 2023-02-17 10:53:04 +01:00
plannernotes.c Desktop: Fix bug in diveplan for CCR dives with multiple segments. 2023-03-01 15:35:55 +01:00
pref.c Added option to choose between different depth grid quantization schema. 2022-05-21 17:29:40 -07:00
pref.h Map Short Names - add preference setting 2022-08-21 18:53:35 -07:00
profile.c Show correct gas density in CCR mode 2022-11-08 10:43:47 -08:00
profile.h core: fold display.h into profile.h 2022-03-13 15:07:33 -07:00
qt-ble.cpp Qt6: use the newer createCentral() API 2022-03-12 08:28:32 -08:00
qt-ble.h Qt6: Bluetooth API changes 2022-03-12 08:28:32 -08:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp translations: fix Portuguese parent translation 2022-03-27 17:11:05 -07:00
qthelper.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
qthelper.h core: create range.h header for range manupulation functions 2022-10-30 21:16:00 +01:00
qtserialbluetooth.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
range.h cleanup: implement index_of() and index_of_if() generics 2022-10-31 19:35:15 +01:00
sample.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
sample.h core: use int16_t for sensor-id 2021-07-23 11:16:00 -07:00
save-git.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
save-html.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c core: fold display.h into profile.h 2022-03-13 15:07:33 -07:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
selection.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
selection.h selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
serial_ftdi.c core: fix libdivecomputer dc_custom callbacks structures 2020-06-18 09:05:13 -07:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
statistics.h cleanup: move minute formating to format-string.cpp 2022-09-03 13:49:02 -07:00
string-format.cpp cleanup: remove pointless idle comment in string-format.cpp 2023-03-28 20:39:02 -07:00
string-format.h cleanup: move formatting of gas type to string-format.cpp 2023-03-28 20:39:02 -07:00
strndup.h
strtod.c
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-float.h core: move floating point functions to own header file 2022-08-30 22:34:38 +02:00
subsurface-string.h core: move floating point functions to own header file 2022-08-30 22:34:38 +02:00
subsurface-time.h cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
subsurfacestartup.c git access: add proper cleanup function for git_info 2022-04-22 08:28:17 -07:00
subsurfacestartup.h cleanup: move application flags to core/subsurfacehelper.h 2020-10-25 13:59:52 -07:00
subsurfacesysinfo.cpp cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
subsurfacesysinfo.h cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
taxonomy.h cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
time.c trivial: remove obscure division-assignment operator 2022-08-01 11:30:53 -07:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
trip.h core: introduce divelog structure 2023-04-14 21:20:23 +02:00
uemis-downloader.c core: introduce divelog structure 2023-04-14 21:20:23 +02:00
uemis.c Maintain sensor index for uemis and liquivision 2022-03-12 11:26:00 -08:00
uemis.h Dive site: use pointer instead of uuid in uemis_helper 2018-10-29 00:09:31 +00:00
units.c core: return floating point from to_PSI() functions 2021-12-17 11:54:23 -08:00
units.h Deal with negative variation times 2022-06-04 14:19:05 -07:00
unix.c core: move device related functions from display.h to device.h 2022-03-13 15:07:33 -07:00
uploadDiveLogsDE.cpp Qt6: update the connect calls for QNetworkReply 2022-04-18 07:24:39 +02:00
uploadDiveLogsDE.h export: clean up temp file after divelogs.de upload 2021-08-06 11:05:06 -07:00
uploadDiveShare.cpp Qt6: update the connect calls for QNetworkReply 2022-04-18 07:24:39 +02:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h Dive media: Extract thumbnails from videos with ffmpeg 2018-07-28 15:31:25 -07:00
webservice.h
windows.c core: move device related functions from display.h to device.h 2022-03-13 15:07:33 -07:00
windowtitleupdate.cpp Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
windowtitleupdate.h Cleanup: Make WindowsTitleUpdate a global object 2018-07-30 13:55:23 -07:00
worldmap-options.h
worldmap-save.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmlparams.cpp core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmlparams.h core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h Metadata: rudimentary support for XMP metadataa in MP4-based videos 2018-09-25 14:59:14 -07:00