diff options
| -rw-r--r-- | include/administration_reader.hpp | 24 | ||||
| -rw-r--r-- | include/administration_writer.hpp | 42 | ||||
| -rw-r--r-- | include/strops.hpp | 5 | ||||
| -rw-r--r-- | src/administration_reader.cpp | 46 | ||||
| -rw-r--r-- | src/administration_writer.cpp | 128 | ||||
| -rw-r--r-- | src/importer.cpp | 2 | ||||
| -rw-r--r-- | src/main.cpp | 6 | ||||
| -rw-r--r-- | src/strops.cpp | 2 | ||||
| -rw-r--r-- | src/ui/ui_main.cpp | 6 | ||||
| -rw-r--r-- | tests/administration_rw_tests.cpp | 36 | ||||
| -rw-r--r-- | tests/peppol_write_tests.cpp | 4 |
11 files changed, 155 insertions, 146 deletions
diff --git a/include/administration_reader.hpp b/include/administration_reader.hpp index d650855..f8f8766 100644 --- a/include/administration_reader.hpp +++ b/include/administration_reader.hpp @@ -16,14 +16,18 @@ #pragma once -bool administration_reader_open_new(); -bool administration_reader_open_existing(char* file_path); -bool administration_reader_save_new(); +namespace administration_reader { -bool administration_reader_import_administration_info(char* buffer, size_t buffer_size); -bool administration_reader_import_tax_rate(char* buffer, size_t buffer_size); -bool administration_reader_import_cost_center(char* buffer, size_t buffer_size); -bool administration_reader_import_project(char* buffer, size_t buffer_size); -bool administration_reader_import_contact(char* buffer, size_t buffer_size); -bool administration_reader_import_invoice(char* buffer, size_t buffer_size); -bool administration_reader_read_invoice_from_xml(invoice* result, char* buffer, size_t buffer_size);
\ No newline at end of file + bool open_new(); + bool open_existing(char* file_path); + bool save_new(); + + bool import_administration_info(char* buffer, size_t buffer_size); + bool import_tax_rate(char* buffer, size_t buffer_size); + bool import_cost_center(char* buffer, size_t buffer_size); + bool import_project(char* buffer, size_t buffer_size); + bool import_contact(char* buffer, size_t buffer_size); + bool import_invoice(char* buffer, size_t buffer_size); + bool read_invoice_from_xml(invoice* result, char* buffer, size_t buffer_size); + +}
\ No newline at end of file diff --git a/include/administration_writer.hpp b/include/administration_writer.hpp index 7ac0645..6f1d602 100644 --- a/include/administration_writer.hpp +++ b/include/administration_writer.hpp @@ -20,22 +20,26 @@ #define ADMIN_FILE_INFO "info.xml" -// Setup functions. -bool administration_writer_create(); -void administration_writer_destroy(); - -bool administration_writer_start_new(); - -// Individual entity writing. -bool administration_writer_delete_entry(char* id); -bool administration_writer_save_project_blocking(project project); -bool administration_writer_save_cost_center_blocking(cost_center cost); -bool administration_writer_save_tax_rate_blocking(tax_rate rate); -bool administration_writer_save_contact_blocking(contact c); -bool administration_writer_save_invoice_blocking(invoice inv); - -// Archiving functions. -bool administration_writer_save_all_administration_info_blocking(); -bool administration_writer_save_all_tax_rates_blocking(); -bool administration_writer_save_all_cost_centers_blocking(); -bool administration_writer_save_all_async();
\ No newline at end of file +namespace administration_writer { + + // Setup functions. + bool create(); + void destroy(); + + bool start_new(); + + // Individual entity writing. + bool delete_entry(char* id); + bool save_project_blocking(project project); + bool save_cost_center_blocking(cost_center cost); + bool save_tax_rate_blocking(tax_rate rate); + bool save_contact_blocking(contact c); + bool save_invoice_blocking(invoice inv); + + // Archiving functions. + bool save_all_administration_info_blocking(); + bool save_all_tax_rates_blocking(); + bool save_all_cost_centers_blocking(); + bool save_all_async(); + +}
\ No newline at end of file diff --git a/include/strops.hpp b/include/strops.hpp index ec3dcdd..5ecc99a 100644 --- a/include/strops.hpp +++ b/include/strops.hpp @@ -26,9 +26,10 @@ namespace strops { void replace_int32(char *buf, size_t buf_size, const char *search, int32_t number); void replace_int64(char *buf, size_t buf_size, const char *search, int64_t number); void replace_float(char *buf, size_t buf_size, const char *search, float number, int decimals); - bool prefix(const char *pre, const char *str); - char* get_json_value(const char *json, const char *key, char *out, size_t out_size, int nth = 0); + bool is_prefixed(const char *pre, const char *str); char* get_filename(const char* path); + + char* get_json_value(const char *json, const char *key, char *out, size_t out_size, int nth = 0); char* prep_str_for_json(const char *input, size_t buffer_size); char* unprep_str_from_json(char *input); diff --git a/src/administration_reader.cpp b/src/administration_reader.cpp index 5d94eff..49a148f 100644 --- a/src/administration_reader.cpp +++ b/src/administration_reader.cpp @@ -28,7 +28,7 @@ #include "administration_writer.hpp" #include "tinyfiledialogs.h" -bool administration_reader_open_new() +bool administration_reader::open_new() { // @locale::get char const * lFilterPatterns[1] = { "*.openbook" }; @@ -41,7 +41,7 @@ bool administration_reader_open_new() return true; } -bool administration_reader_save_new() +bool administration_reader::save_new() { // @locale::get char const * lFilterPatterns[1] = { "*.openbook" }; @@ -50,12 +50,12 @@ bool administration_reader_save_new() if (!save_path) return false; administration_set_file_path(save_path); - administration_writer_save_all_async(); + administration_writer::save_all_async(); return true; } -bool administration_reader_open_existing(char* file_path) +bool administration_reader::open_existing(char* file_path) { if (file_path == NULL) { // @locale::get @@ -88,27 +88,27 @@ bool administration_reader_open_existing(char* file_path) if (strcmp(name, ADMIN_FILE_INFO) == 0) { - administration_reader_import_administration_info(buffer, (size_t)size); + administration_reader::import_administration_info(buffer, (size_t)size); } - else if (strops::prefix("T/", name)) + else if (strops::is_prefixed("T/", name)) { - administration_reader_import_tax_rate(buffer, (size_t)size); + administration_reader::import_tax_rate(buffer, (size_t)size); } - else if (strops::prefix("E/", name)) + else if (strops::is_prefixed("E/", name)) { - administration_reader_import_cost_center(buffer, (size_t)size); + administration_reader::import_cost_center(buffer, (size_t)size); } - else if (strops::prefix("P/", name)) + else if (strops::is_prefixed("P/", name)) { - administration_reader_import_project(buffer, (size_t)size); + administration_reader::import_project(buffer, (size_t)size); } - else if (strops::prefix("C/", name)) + else if (strops::is_prefixed("C/", name)) { - administration_reader_import_contact(buffer, (size_t)size); + administration_reader::import_contact(buffer, (size_t)size); } - else if (strops::prefix("I/", name)) + else if (strops::is_prefixed("I/", name)) { - administration_reader_import_invoice(buffer, (size_t)size); + administration_reader::import_invoice(buffer, (size_t)size); } free(buffer); @@ -123,7 +123,7 @@ bool administration_reader_open_existing(char* file_path) return true; } -bool administration_reader_read_invoice_from_xml(invoice* result, char* buffer, size_t buffer_size) +bool administration_reader::read_invoice_from_xml(invoice* result, char* buffer, size_t buffer_size) { xml_document* document = xml_parse_document((uint8_t *)buffer, buffer_size); if (!document) return false; @@ -253,12 +253,12 @@ bool administration_reader_read_invoice_from_xml(invoice* result, char* buffer, return true; } -bool administration_reader_import_invoice(char* buffer, size_t buffer_size) +bool administration_reader::import_invoice(char* buffer, size_t buffer_size) { STOPWATCH_START; invoice data; - if (!administration_reader_read_invoice_from_xml(&data, buffer, buffer_size)) return false; + if (!administration_reader::read_invoice_from_xml(&data, buffer, buffer_size)) return false; a_err result = administration_invoice_import(&data); if (result == A_ERR_SUCCESS) { @@ -272,7 +272,7 @@ bool administration_reader_import_invoice(char* buffer, size_t buffer_size) return result == A_ERR_SUCCESS; } -bool administration_reader_import_contact(char* buffer, size_t buffer_size) +bool administration_reader::import_contact(char* buffer, size_t buffer_size) { STOPWATCH_START; @@ -311,7 +311,7 @@ bool administration_reader_import_contact(char* buffer, size_t buffer_size) return result; } -bool administration_reader_import_project(char* buffer, size_t buffer_size) +bool administration_reader::import_project(char* buffer, size_t buffer_size) { STOPWATCH_START; @@ -340,7 +340,7 @@ bool administration_reader_import_project(char* buffer, size_t buffer_size) return result; } -bool administration_reader_import_cost_center(char* buffer, size_t buffer_size) +bool administration_reader::import_cost_center(char* buffer, size_t buffer_size) { STOPWATCH_START; @@ -367,7 +367,7 @@ bool administration_reader_import_cost_center(char* buffer, size_t buffer_size) return result; } -bool administration_reader_import_tax_rate(char* buffer, size_t buffer_size) +bool administration_reader::import_tax_rate(char* buffer, size_t buffer_size) { STOPWATCH_START; @@ -395,7 +395,7 @@ bool administration_reader_import_tax_rate(char* buffer, size_t buffer_size) return result; } -bool administration_reader_import_administration_info(char* buffer, size_t buffer_size) +bool administration_reader::import_administration_info(char* buffer, size_t buffer_size) { STOPWATCH_START; diff --git a/src/administration_writer.cpp b/src/administration_writer.cpp index 4f5a7ca..5f8209b 100644 --- a/src/administration_writer.cpp +++ b/src/administration_writer.cpp @@ -34,7 +34,7 @@ mtx_t _save_file_mutex; static void on_administration_data_changed() { - if (administration_writer_save_all_administration_info_blocking()) { + if (administration_writer::save_all_administration_info_blocking()) { ui_set_status(locale::get("status.saved")); } else { @@ -44,35 +44,35 @@ static void on_administration_data_changed() static void on_administration_data_deleted(char id[MAX_LEN_ID]) { - administration_writer_delete_entry(id); + administration_writer::delete_entry(id); } static void on_invoice_changed(invoice* invoice) { - administration_writer_save_invoice_blocking(*invoice); + administration_writer::save_invoice_blocking(*invoice); } static void on_contact_changed_changed(contact* contact) { - administration_writer_save_contact_blocking(*contact); + administration_writer::save_contact_blocking(*contact); } static void on_taxrate_changed_changed(tax_rate* rate) { - administration_writer_save_tax_rate_blocking(*rate); + administration_writer::save_tax_rate_blocking(*rate); } static void on_costcenter_changed_changed(cost_center* cost_center) { - administration_writer_save_cost_center_blocking(*cost_center); + administration_writer::save_cost_center_blocking(*cost_center); } static void on_project_changed_changed(project* project) { - administration_writer_save_project_blocking(*project); + administration_writer::save_project_blocking(*project); } -bool administration_writer_create() +bool administration_writer::create() { administration_set_data_changed_event_callback(on_administration_data_changed); administration_set_data_deleted_event_callback(on_administration_data_deleted); @@ -85,12 +85,12 @@ bool administration_writer_create() return mtx_init(&_save_file_mutex, mtx_plain) == thrd_success; } -void administration_writer_destroy() +void administration_writer::destroy() { mtx_destroy(&_save_file_mutex); } -static char* administration_writer_copy_template(const char* template_str, int* buf_size) +static char* copy_template(const char* template_str, int* buf_size) { size_t template_size = strlen(template_str); size_t buf_length = template_size*5; // Ballpark file content size. @@ -101,7 +101,7 @@ static char* administration_writer_copy_template(const char* template_str, int* return file_content; } -static bool administration_writer_entry_exists(char* entry) +static bool zip_entry_exists(char* entry) { struct zip_t *zip_read = zip_open(administration_get_file_path(), 0, 'r'); int result = zip_entry_open(zip_read, entry); @@ -110,7 +110,7 @@ static bool administration_writer_entry_exists(char* entry) return result == 0; } -static bool _administration_writer_delete_entry_by_name(char* entry) +static bool delete_entry_by_name(char* entry) { STOPWATCH_START; @@ -128,19 +128,19 @@ static bool _administration_writer_delete_entry_by_name(char* entry) return result; } -bool administration_writer_delete_entry(char* id) +bool administration_writer::delete_entry(char* id) { char final_path[50]; snprintf(final_path, 50, "%s.xml", id); - return _administration_writer_delete_entry_by_name(final_path); + return delete_entry_by_name(final_path); } -static bool administration_writer_write_to_zip(char* entry_to_replace, char* orig_content, int final_length) +static bool write_to_zip(char* entry_to_replace, char* orig_content, int final_length) { bool result = 1; - bool entry_exists = administration_writer_entry_exists(entry_to_replace); - if (entry_exists) _administration_writer_delete_entry_by_name(entry_to_replace); + bool entry_exists = zip_entry_exists(entry_to_replace); + if (entry_exists) delete_entry_by_name(entry_to_replace); struct zip_t *zip_write = zip_open(administration_get_file_path(), 0, 'a'); if (!zip_write) zip_write = zip_open(administration_get_file_path(), 0, 'w'); @@ -157,7 +157,7 @@ static bool administration_writer_write_to_zip(char* entry_to_replace, char* ori //// Invoices ///////////////////////////// -static char* administration_writer_get_eas_id_for_contact(contact contact) +static char* get_eas_id_for_contact(contact contact) { if (contact.type == contact_type::CONTACT_CONSUMER) { return "[CONSUMER]"; @@ -199,7 +199,7 @@ static char* administration_writer_get_eas_id_for_contact(contact contact) return NULL; // Unknown country code } -static char* administration_writer_get_eas_scheme_for_contact(contact contact) +static char* get_eas_scheme_for_contact(contact contact) { if (contact.type == contact_type::CONTACT_CONSUMER) { return "0203"; // Hack @@ -317,7 +317,7 @@ static void _add_document_to_zip(invoice* inv) fclose(orig_file); - if (administration_writer_write_to_zip(copy_path, file_copy, sz)) { + if (write_to_zip(copy_path, file_copy, sz)) { strops::copy(doc->copy_path, copy_path, MAX_LEN_PATH); logger::info("Made copy of '%s' to '%s'.", doc->original_path, doc->copy_path); } @@ -329,7 +329,7 @@ static void _add_document_to_zip(invoice* inv) } } -bool administration_writer_save_invoice_blocking(invoice inv) +bool administration_writer::save_invoice_blocking(invoice inv) { STOPWATCH_START; @@ -354,8 +354,8 @@ bool administration_writer_save_invoice_blocking(invoice inv) strops::replace_int32(file_content, buf_length, "{{INVOICE_STATUS}}", (s32)inv.status); // Supplier data - strops::replace(file_content, buf_length, "{{SUPPLIER_ENDPOINT_SCHEME}}", administration_writer_get_eas_scheme_for_contact(inv.supplier)); - strops::replace(file_content, buf_length, "{{SUPPLIER_ENDPOINT_ID}}", administration_writer_get_eas_id_for_contact(inv.supplier)); + strops::replace(file_content, buf_length, "{{SUPPLIER_ENDPOINT_SCHEME}}", get_eas_scheme_for_contact(inv.supplier)); + strops::replace(file_content, buf_length, "{{SUPPLIER_ENDPOINT_ID}}", get_eas_id_for_contact(inv.supplier)); strops::replace(file_content, buf_length, "{{SUPPLIER_ID}}", inv.supplier.id); strops::replace(file_content, buf_length, "{{SUPPLIER_NAME}}", inv.supplier.name); strops::replace(file_content, buf_length, "{{SUPPLIER_STREET}}", inv.supplier.address.address1); @@ -371,8 +371,8 @@ bool administration_writer_save_invoice_blocking(invoice inv) strops::replace(file_content, buf_length, "{{SUPPLIER_EMAIL}}", inv.supplier.email); // Customer data - strops::replace(file_content, buf_length, "{{CUSTOMER_ENDPOINT_SCHEME}}", administration_writer_get_eas_scheme_for_contact(inv.customer)); - strops::replace(file_content, buf_length, "{{CUSTOMER_ENDPOINT_ID}}", administration_writer_get_eas_id_for_contact(inv.customer)); + strops::replace(file_content, buf_length, "{{CUSTOMER_ENDPOINT_SCHEME}}", get_eas_scheme_for_contact(inv.customer)); + strops::replace(file_content, buf_length, "{{CUSTOMER_ENDPOINT_ID}}", get_eas_id_for_contact(inv.customer)); strops::replace(file_content, buf_length, "{{CUSTOMER_ID}}", inv.customer.id); strops::replace(file_content, buf_length, "{{CUSTOMER_NAME}}", inv.customer.name); strops::replace(file_content, buf_length, "{{CUSTOMER_STREET}}", inv.customer.address.address1); @@ -420,7 +420,7 @@ bool administration_writer_save_invoice_blocking(invoice inv) for (u32 i = 0; i < tax_rate_count; i++) { int tax_entry_buf_length = 0; - char* tax_entry_file_content = administration_writer_copy_template(file_template::peppol_invoice_tax_subtotal_template, &tax_entry_buf_length); + char* tax_entry_file_content = copy_template(file_template::peppol_invoice_tax_subtotal_template, &tax_entry_buf_length); tax_subtotal subtotal; administration_invoice_get_subtotal_for_tax_rate(&inv, tax_rate_buffer[i], &subtotal); @@ -463,7 +463,7 @@ bool administration_writer_save_invoice_blocking(invoice inv) for (u32 i = 0; i < billing_item_count; i++) { int billing_item_buf_length = 0; - char* billing_item_file_content = administration_writer_copy_template(file_template::peppol_invoice_line_template, &billing_item_buf_length); + char* billing_item_file_content = copy_template(file_template::peppol_invoice_line_template, &billing_item_buf_length); billing_item bi = billing_item_buffer[i]; tax_rate rate; @@ -521,7 +521,7 @@ bool administration_writer_save_invoice_blocking(invoice inv) int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(final_path, file_content, final_length)) result = 0; + else if (!write_to_zip(final_path, file_content, final_length)) result = 0; free(file_content); @@ -531,7 +531,7 @@ bool administration_writer_save_invoice_blocking(invoice inv) return result; } -static bool administration_writer_save_all_invoices_blocking() +static bool save_all_invoices_blocking() { bool result = 1; u32 num_invoices = administration_invoice_count(); @@ -541,7 +541,7 @@ static bool administration_writer_save_all_invoices_blocking() for (u32 i = 0; i < num_invoices; i++) { invoice c = invoice_buffer[i]; - if (!administration_writer_save_invoice_blocking(c)) result = 0; + if (!administration_writer::save_invoice_blocking(c)) result = 0; } free(invoice_buffer); @@ -551,13 +551,13 @@ static bool administration_writer_save_all_invoices_blocking() ///////////////////////////// //// Projects ///////////////////////////// -bool administration_writer_save_project_blocking(project project) +bool administration_writer::save_project_blocking(project project) { STOPWATCH_START; bool result = 1; int buf_length = 0; - char* file_content = administration_writer_copy_template(file_template::project_save_template, &buf_length); + char* file_content = copy_template(file_template::project_save_template, &buf_length); struct tm *tm_info = 0; char date_buffer[11]; // "YYYY-MM-DD" + null terminator @@ -580,7 +580,7 @@ bool administration_writer_save_project_blocking(project project) int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(final_path, file_content, final_length)) result = 0; + else if (!write_to_zip(final_path, file_content, final_length)) result = 0; free(file_content); @@ -590,7 +590,7 @@ bool administration_writer_save_project_blocking(project project) return result; } -static bool administration_writer_save_all_projects_blocking() +static bool save_all_projects_blocking() { bool result = 1; u32 num_projects = administration_project_count(); @@ -600,7 +600,7 @@ static bool administration_writer_save_all_projects_blocking() for (u32 i = 0; i < num_projects; i++) { project c = project_buffer[i]; - if (!administration_writer_save_project_blocking(c)) result = 0; + if (!administration_writer::save_project_blocking(c)) result = 0; } free(project_buffer); @@ -610,13 +610,13 @@ static bool administration_writer_save_all_projects_blocking() ///////////////////////////// //// Cost centers ///////////////////////////// -bool administration_writer_save_cost_center_blocking(cost_center cost) +bool administration_writer::save_cost_center_blocking(cost_center cost) { STOPWATCH_START; bool result = 1; int buf_length = 0; - char* file_content = administration_writer_copy_template(file_template::costcenter_save_template, &buf_length); + char* file_content = copy_template(file_template::costcenter_save_template, &buf_length); strops::replace(file_content, buf_length, "{{COSTCENTER_ID}}", cost.id); strops::replace(file_content, buf_length, "{{COSTCENTER_CODE}}", cost.code); @@ -628,7 +628,7 @@ bool administration_writer_save_cost_center_blocking(cost_center cost) int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(final_path, file_content, final_length)) result = 0; + else if (!write_to_zip(final_path, file_content, final_length)) result = 0; free(file_content); @@ -638,7 +638,7 @@ bool administration_writer_save_cost_center_blocking(cost_center cost) return result; } -bool administration_writer_save_all_cost_centers_blocking() +bool administration_writer::save_all_cost_centers_blocking() { bool result = 1; u32 num_costcenters = administration_cost_center_count(); @@ -648,7 +648,7 @@ bool administration_writer_save_all_cost_centers_blocking() for (u32 i = 0; i < num_costcenters; i++) { cost_center c = costcenter_buffer[i]; - if (!administration_writer_save_cost_center_blocking(c)) result = 0; + if (!administration_writer::save_cost_center_blocking(c)) result = 0; } free(costcenter_buffer); @@ -658,13 +658,13 @@ bool administration_writer_save_all_cost_centers_blocking() ///////////////////////////// //// Tax rates ///////////////////////////// -bool administration_writer_save_tax_rate_blocking(tax_rate rate) +bool administration_writer::save_tax_rate_blocking(tax_rate rate) { STOPWATCH_START; bool result = 1; int buf_length = 0; - char* file_content = administration_writer_copy_template(file_template::taxrate_save_template, &buf_length); + char* file_content = copy_template(file_template::taxrate_save_template, &buf_length); strops::replace(file_content, buf_length, "{{TAXBRACKET_ID}}", rate.id); strops::replace(file_content, buf_length, "{{TAXBRACKET_COUNTRY}}", rate.country_code); @@ -677,7 +677,7 @@ bool administration_writer_save_tax_rate_blocking(tax_rate rate) int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(final_path, file_content, final_length)) result = 0; + else if (!write_to_zip(final_path, file_content, final_length)) result = 0; free(file_content); @@ -687,7 +687,7 @@ bool administration_writer_save_tax_rate_blocking(tax_rate rate) return result; } -bool administration_writer_save_all_tax_rates_blocking() +bool administration_writer::save_all_tax_rates_blocking() { //// Get all data. u32 num_rates = administration_tax_rate_count(); @@ -699,7 +699,7 @@ bool administration_writer_save_all_tax_rates_blocking() for (u32 i = 0; i < num_rates; i++) { tax_rate c = rate_buffer[i]; - if (!administration_writer_save_tax_rate_blocking(c)) result = 0; + if (!administration_writer::save_tax_rate_blocking(c)) result = 0; } free(rate_buffer); @@ -709,13 +709,13 @@ bool administration_writer_save_all_tax_rates_blocking() ///////////////////////////// //// Contacts ///////////////////////////// -bool administration_writer_save_contact_blocking(contact c) +bool administration_writer::save_contact_blocking(contact c) { STOPWATCH_START; bool result = 1; int buf_length = 0; - char* file_content = administration_writer_copy_template(file_template::contact_save_template, &buf_length); + char* file_content = copy_template(file_template::contact_save_template, &buf_length); strops::replace(file_content, buf_length, "{{CONTACT_ID}}", c.id); strops::replace(file_content, buf_length, "{{CONTACT_NAME}}", c.name); @@ -737,7 +737,7 @@ bool administration_writer_save_contact_blocking(contact c) int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(final_path, file_content, final_length)) result = 0; + else if (!write_to_zip(final_path, file_content, final_length)) result = 0; free(file_content); @@ -747,7 +747,7 @@ bool administration_writer_save_contact_blocking(contact c) return result; } -static bool administration_writer_save_all_contacts_blocking() +static bool save_all_contacts_blocking() { //// Get all data. u32 num_contacts = administration_contact_count(); @@ -758,12 +758,12 @@ static bool administration_writer_save_all_contacts_blocking() bool result = 1; // Save company info. - if (!administration_writer_save_contact_blocking(administration_company_info_get())) result = 0; + if (!administration_writer::save_contact_blocking(administration_company_info_get())) result = 0; // Save contacts. for (u32 i = 0; i < num_contacts; i++) { contact c = ((contact*)contact_buffer)[i]; - if (!administration_writer_save_contact_blocking(c)) result = 0; + if (!administration_writer::save_contact_blocking(c)) result = 0; } free(contact_buffer); @@ -773,13 +773,13 @@ static bool administration_writer_save_all_contacts_blocking() ///////////////////////////// //// Administration info ///////////////////////////// -bool administration_writer_save_all_administration_info_blocking() +bool administration_writer::save_all_administration_info_blocking() { STOPWATCH_START; bool result = 1; int buf_length = 0; - char* file_content = administration_writer_copy_template(file_template::administration_save_template, &buf_length); + char* file_content = copy_template(file_template::administration_save_template, &buf_length); strops::replace_int32(file_content, buf_length, "{{NEXT_ID}}", administration_get_next_id()); strops::replace_int32(file_content, buf_length, "{{NEXT_SEQUENCE_NUMBER}}", administration_get_next_sequence_number()); @@ -792,7 +792,7 @@ bool administration_writer_save_all_administration_info_blocking() //// Write to Disk. int final_length = (int)strlen(file_content); if (!xml_parse_document((uint8_t*)file_content, final_length)) result = 0; - else if (!administration_writer_write_to_zip(ADMIN_FILE_INFO, file_content, final_length)) result = 0; + else if (!write_to_zip(ADMIN_FILE_INFO, file_content, final_length)) result = 0; free(file_content); @@ -805,29 +805,29 @@ bool administration_writer_save_all_administration_info_blocking() ///////////////////////////// //// Other ///////////////////////////// -static int administration_writer_write_all_t(void *arg) { +static int write_all_t(void *arg) { (void)arg; int result = 1; mtx_lock(&_save_file_mutex); - if (!administration_writer_save_all_invoices_blocking()) result = 0; - if (!administration_writer_save_all_projects_blocking()) result = 0; - if (!administration_writer_save_all_administration_info_blocking()) result = 0; - if (!administration_writer_save_all_tax_rates_blocking()) result = 0; - if (!administration_writer_save_all_cost_centers_blocking()) result = 0; - if (!administration_writer_save_all_contacts_blocking()) result = 0; + if (!save_all_invoices_blocking()) result = 0; + if (!save_all_projects_blocking()) result = 0; + if (!administration_writer::save_all_administration_info_blocking()) result = 0; + if (!administration_writer::save_all_tax_rates_blocking()) result = 0; + if (!administration_writer::save_all_cost_centers_blocking()) result = 0; + if (!save_all_contacts_blocking()) result = 0; mtx_unlock(&_save_file_mutex); return result; } -bool administration_writer_save_all_async() +bool administration_writer::save_all_async() { - administration_writer_write_all_t(0); + write_all_t(0); //thrd_t thr; - //if (thrd_create(&thr, administration_writer_write_all_t, 0) != thrd_success) { + //if (thrd_create(&thr, write_all_t, 0) != thrd_success) { // return false; //} diff --git a/src/importer.cpp b/src/importer.cpp index 42fdaa4..3fe44a9 100644 --- a/src/importer.cpp +++ b/src/importer.cpp @@ -109,7 +109,7 @@ static int _ai_document_to_invoice_t(void *arg) { } invoice inv; - if (!administration_reader_read_invoice_from_xml(&inv, response, strlen(response))) { + if (!administration_reader::read_invoice_from_xml(&inv, response, strlen(response))) { request->status = import_status::IMPORT_DONE; request->error = I_ERR_FAILED_IMPORT; return 0; diff --git a/src/main.cpp b/src/main.cpp index 8475008..4363806 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -139,13 +139,13 @@ int main(int argc, char** argv) ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); timer_lib_initialize(); - administration_writer_create(); + administration_writer::create(); if (argc < 2) { administration_create_default(""); } else { - administration_reader_open_existing(argv[1]); + administration_reader::open_existing(argv[1]); } // Main loop @@ -202,7 +202,7 @@ int main(int argc, char** argv) g_SwapChainOccluded = (hr == DXGI_STATUS_OCCLUDED); } - administration_writer_destroy(); + administration_writer::destroy(); timer_lib_shutdown(); // Cleanup diff --git a/src/strops.cpp b/src/strops.cpp index 303b64c..f8184f1 100644 --- a/src/strops.cpp +++ b/src/strops.cpp @@ -23,7 +23,7 @@ namespace strops { - bool prefix(const char *pre, const char *str) + bool is_prefixed(const char *pre, const char *str) { return strncmp(pre, str, strlen(pre)) == 0; } diff --git a/src/ui/ui_main.cpp b/src/ui/ui_main.cpp index f918ce8..ef2e9df 100644 --- a/src/ui/ui_main.cpp +++ b/src/ui/ui_main.cpp @@ -72,9 +72,9 @@ void ui_draw_main() { if (ImGui::BeginMenu("File")) { - if (ImGui::MenuItem("New")) { administration_reader_open_new(); } - if (ImGui::MenuItem("Open")) { administration_reader_open_existing(NULL); } - if (ImGui::MenuItem("Save")) { administration_reader_save_new(); } + if (ImGui::MenuItem("New")) { administration_reader::open_new(); } + if (ImGui::MenuItem("Open")) { administration_reader::open_existing(NULL); } + if (ImGui::MenuItem("Save")) { administration_reader::save_new(); } ImGui::EndMenu(); } diff --git a/tests/administration_rw_tests.cpp b/tests/administration_rw_tests.cpp index 0bea1ce..321968e 100644 --- a/tests/administration_rw_tests.cpp +++ b/tests/administration_rw_tests.cpp @@ -21,7 +21,7 @@ TEST _administration_rw_taxrate(void) tax_rate pr; u32 count; - administration_writer_create(); + administration_writer::create(); administration_create_empty(test_file_path); { @@ -36,7 +36,7 @@ TEST _administration_rw_taxrate(void) ASSERT_EQ(count+1, administration_tax_rate_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_tax_rate_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_tax_rate_get_by_id(&pr, pw.id)); @@ -52,7 +52,7 @@ TEST _administration_rw_costcenter(void) cost_center pr; u32 count; - administration_writer_create(); + administration_writer::create(); administration_create_empty(test_file_path); { @@ -66,7 +66,7 @@ TEST _administration_rw_costcenter(void) ASSERT_EQ(count+1, administration_cost_center_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_cost_center_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_cost_center_get_by_id(&pr, pw.id)); @@ -82,7 +82,7 @@ TEST _administration_rw_project(void) project pr; u32 count; - administration_writer_create(); + administration_writer::create(); administration_create_empty(test_file_path); { @@ -94,7 +94,7 @@ TEST _administration_rw_project(void) ASSERT_EQ(count+1, administration_project_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_project_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_project_get_by_id(&pr, pw.id)); @@ -110,7 +110,7 @@ TEST _administration_rw_contact(void) contact pr; u32 count; - administration_writer_create(); + administration_writer::create(); administration_create_empty(test_file_path); { @@ -129,7 +129,7 @@ TEST _administration_rw_contact(void) ASSERT_EQ(count+1, administration_contact_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_contact_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_contact_get_by_id(&pr, pw.id)); @@ -141,7 +141,7 @@ TEST _administration_rw_contact(void) TEST _administration_rw_info(void) { - administration_writer_create(); + administration_writer::create(); s32 next_id, next_sequence_number; ai_service ais; @@ -158,7 +158,7 @@ TEST _administration_rw_info(void) ais = administration_get_ai_service(); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(next_id, administration_get_next_id()); ASSERT_EQ(next_sequence_number, administration_get_next_sequence_number()); @@ -234,7 +234,7 @@ TEST _administration_rw_b2b_invoice(void) invoice inv; invoice invr; - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); { @@ -260,7 +260,7 @@ TEST _administration_rw_b2b_invoice(void) ASSERT_EQ(count+1, administration_invoice_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_invoice_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_invoice_get_by_id(&invr, inv.id)); @@ -277,7 +277,7 @@ TEST _administration_rw_b2c_invoice(void) invoice inv; invoice invr; - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); { @@ -303,7 +303,7 @@ TEST _administration_rw_b2c_invoice(void) ASSERT_EQ(count+1, administration_invoice_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_invoice_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_invoice_get_by_id(&invr, inv.id)); @@ -320,7 +320,7 @@ TEST _administration_rw_b2b2c_invoice(void) invoice inv; invoice invr; - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); { @@ -346,7 +346,7 @@ TEST _administration_rw_b2b2c_invoice(void) ASSERT_EQ(count+1, administration_invoice_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_invoice_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_invoice_get_by_id(&invr, inv.id)); @@ -363,7 +363,7 @@ TEST _administration_rw_b2c_2currency_invoice(void) invoice inv; invoice invr; - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); { @@ -397,7 +397,7 @@ TEST _administration_rw_b2c_2currency_invoice(void) ASSERT_EQ(count+1, administration_invoice_count()); } - administration_reader_open_existing(test_file_path); + administration_reader::open_existing(test_file_path); { ASSERT_EQ(count+1, administration_invoice_count()); ASSERT_EQ(A_ERR_SUCCESS, administration_invoice_get_by_id(&invr, inv.id)); diff --git a/tests/peppol_write_tests.cpp b/tests/peppol_write_tests.cpp index fb74ed7..fd137b5 100644 --- a/tests/peppol_write_tests.cpp +++ b/tests/peppol_write_tests.cpp @@ -4,7 +4,7 @@ ////////////////// TEST _peppol_write_nl2nl_b2b(void) { - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); invoice inv = administration_invoice_create_empty(); @@ -25,7 +25,7 @@ TEST _peppol_write_nl2nl_b2b(void) TEST _peppol_write_nl2nl_b2c(void) { - administration_writer_create(); + administration_writer::create(); administration_create_default(test_file_path); invoice inv = administration_invoice_create_empty(); |
