mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Import can be done from .script files generated by LogTrak software or from .asd files generated by SmartTrak and LogTrak export option. This code was writen in C, and has just been "ported" to some extent to C++, so it can work with recent rework of Subsurface to C++. I'm not a C++ guy, so this is mostly C with some make-up. Signed-off-by: Salvador Cuñat <salvador.cunat@gmail.com>
39 lines
1.7 KiB
C++
39 lines
1.7 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef FILE_H
|
|
#define FILE_H
|
|
|
|
#include "filterpreset.h"
|
|
|
|
#include <sys/stat.h>
|
|
#include <stdio.h>
|
|
#include <vector>
|
|
#include <utility>
|
|
#include <memory>
|
|
|
|
struct divelog;
|
|
struct zip;
|
|
|
|
extern int ostctools_import(const std::unique_ptr<std::vector<unsigned char>> &buffer, struct divelog *log);
|
|
extern int divesoft_import(const std::unique_ptr<std::vector<unsigned char>> &buffer, struct divelog *log);
|
|
|
|
extern int parse_file(const char *filename, struct divelog *log);
|
|
extern int try_to_open_zip(const char *filename, struct divelog *log);
|
|
|
|
// Platform specific functions
|
|
extern int subsurface_rename(const char *path, const char *newpath);
|
|
extern int subsurface_dir_rename(const char *path, const char *newpath);
|
|
extern int subsurface_open(const char *path, int oflags, mode_t mode);
|
|
extern FILE *subsurface_fopen(const char *path, const char *mode);
|
|
extern void *subsurface_opendir(const char *path);
|
|
extern int subsurface_access(const char *path, int mode);
|
|
extern int subsurface_stat(const char *path, struct stat *buf);
|
|
extern struct zip *subsurface_zip_open_readonly(const char *path, int flags, int *errorp);
|
|
extern int subsurface_zip_close(struct zip *zip);
|
|
extern std::pair<std::string, int> readfile(const char *filename); // return data, errorcode pair.
|
|
extern int try_to_open_cochran(const char *filename, std::string &mem, struct divelog *log);
|
|
extern int try_to_open_liquivision(const char *filename, std::string &mem, struct divelog *log);
|
|
extern int datatrak_import(std::string &mem, std::string &wl_mem, struct divelog *log);
|
|
extern int logtrak_import(const std::string &mem, struct divelog *log);
|
|
extern int scubapro_asd_import(const std::string &mem, struct divelog *log);
|
|
|
|
#endif // FILE_H
|