summaryrefslogtreecommitdiff
path: root/src/administration_writer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/administration_writer.cpp')
-rw-r--r--src/administration_writer.cpp128
1 files changed, 64 insertions, 64 deletions
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;
//}