Compare commits

...

10 Commits

Author SHA1 Message Date
b422f82dea Add debug messages on tariff config initialisation 2023-05-05 13:19:36 +02:00
30af400779 Fix: Read PTU zone info 2023-05-05 13:19:02 +02:00
db1b64649b Make build for PTU5_YOCTO 2023-05-04 14:51:58 +02:00
adce2983ce renamed mobility... to mobilisis 2023-05-04 11:20:59 +02:00
568d7d8680 renamed mobility... to mobilisis 2023-05-04 11:20:39 +02:00
f650612a63 Add tariff file for zone 4 2023-05-04 10:50:38 +02:00
129c474691 Add
QMAKE_LFLAGS += -Wl,--out-implib,debug\libmobility_calc.a
QMAKE_LFLAGS += -Wl,--out-implib,release\libmobility_calc.a
2023-05-02 10:04:48 +02:00
a8fa4c2613 Add CALCULATE_LIBRARY_EXPORTS. 2023-05-02 09:47:19 +02:00
194ecd2771 Add CALCULATE_LIBRARY_API to make symbols publicly available. 2023-05-02 09:46:17 +02:00
a7d7e61d9b Add macro CALCULATE_LIBRARY_API to make symbols public. 2023-05-02 09:44:14 +02:00
6 changed files with 49 additions and 14 deletions

View File

@@ -3,3 +3,7 @@ CONFIG += ordered
SUBDIRS = library main
main.depends = library
contains( CONFIG, PTU5_YOCTO ) {
SUBDIRS = library
}

View File

@@ -22,7 +22,7 @@ typedef Configuration parking_tariff_t;
extern "C" {
#endif
struct price_t {
struct CALCULATE_LIBRARY_API price_t {
uint32_t units;
double netto;
double brutto;

View File

@@ -1,5 +1,5 @@
TEMPLATE = lib
TARGET = mobility_calc
TARGET = mobilisis_calc
# CONFIG += staticlib
QMAKE_CXXFLAGS += -std=c++17 -g -O0
@@ -8,8 +8,16 @@ INCLUDEPATH += $$_PRO_FILE_PWD_/include
INCLUDEPATH += $$_PRO_FILE_PWD_/include/mobilisis
INCLUDEPATH += $$_PRO_FILE_PWD_/include/rapidjson
win32 {
CONFIG+=-DCALCULATE_LIBRARY_EXPORTS
CONFIG(debug, debug|release) {
win32 {
QMAKE_CXXFLAGS += -DCALCULATE_LIBRARY_EXPORTS
QMAKE_LFLAGS += -Wl,--out-implib,debug\libmobilisis_calc.a
}
} else {
win32 {
QMAKE_CXXFLAGS += -DCALCULATE_LIBRARY_EXPORTS
QMAKE_LFLAGS += -Wl,--out-implib,release\libmobilisis_calc.a
}
}
SOURCES += \

View File

@@ -10,24 +10,32 @@
static Calculator calculator;
int get_zone_nr() {
int CALCULATE_LIBRARY_API get_zone_nr() {
QFile zone("/etc/zone_nr");
if (zone.exists()) {
QFileInfo finfo(zone);
if (finfo.size() <= 4) { // decimal 000\n
if (zone.open(QIODevice::ReadOnly | QIODevice::Text)) {
return zone.readLine().toInt();
QTextStream in(&zone);
return in.readLine(100).toInt();
}
}
}
return -1;
}
bool init_tariff(parking_tariff_t **tariff, char const *config_file) {
bool CALCULATE_LIBRARY_API init_tariff(parking_tariff_t **tariff, char const *config_file) {
*tariff = new Configuration();
int const zone = get_zone_nr();
if (zone == -1) {
// DEBUG
qCritical() << "init_tariff:";
qCritical() << " ... zone = " << zone;
if (zone <= 0) {
return false;
}
@@ -36,27 +44,41 @@ bool init_tariff(parking_tariff_t **tariff, char const *config_file) {
confFile += "/";
}
char buffer[16];
char buffer[32];
memset(buffer, 0x00, sizeof(buffer));
snprintf(buffer, sizeof(buffer)-1, "tariff%02d.json", zone);
confFile += buffer;
// DEBUG
qCritical() << " ... confFile = " << confFile;
QFile fname(confFile);
if (fname.exists()) {
// DEBUG
qCritical() << " ... confFile exists";
if (fname.open(QIODevice::ReadOnly | QIODevice::Text)) {
// DEBUG
qCritical() << " ... confFile is open";
QString json = fname.readAll();
return (*tariff)->ParseJson(*tariff, json.toStdString().c_str());
}
}
qCritical() << "init_tariff: Parsing tariff config (" << confFile << ") failed!";
return false;
}
void free_tariff(parking_tariff_t *tariff) {
void CALCULATE_LIBRARY_API free_tariff(parking_tariff_t *tariff) {
delete tariff;
}
bool compute_price_for_parking_ticket(parking_tariff_t *tariff,
bool CALCULATE_LIBRARY_API compute_price_for_parking_ticket(
parking_tariff_t *tariff,
time_t start_parking_time, // in minutes
time_t end_parking_time, // in minutes
struct price_t *price) {

View File

@@ -10,16 +10,16 @@ INCLUDEPATH += $$_PRO_FILE_PWD_/../../MOBILISIS-Calculator/library/include/mobil
INCLUDEPATH += .
unix {
LIBS += -L$$OUT_PWD/../library/ -lmobility_calc
LIBS += -L$$OUT_PWD/../library/ -lmobilisis_calc
}
CONFIG(debug, debug|release) {
win32 {
LIBS += -L$$OUT_PWD/../library/debug/ -lmobility_calc
LIBS += -L$$OUT_PWD/../library/debug/ -lmobilisis_calc
}
} else {
win32 {
LIBS += -L$$OUT_PWD/../library/release/ -lmobility_calc
LIBS += -L$$OUT_PWD/../library/release/ -lmobilisis_calc
}
}

1
tariffs/tariff04.json Normal file

File diff suppressed because one or more lines are too long