diff options
Diffstat (limited to 'src/administration.cpp')
| -rw-r--r-- | src/administration.cpp | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/src/administration.cpp b/src/administration.cpp index 44438ff..0b1a0db 100644 --- a/src/administration.cpp +++ b/src/administration.cpp @@ -1520,7 +1520,7 @@ a_err administration::invoice_update(invoice* inv) if (invoice_changed_event_callback) invoice_changed_event_callback(c); - administration::activity_add(ACTIVITY_USER, c->id, "activity.update_invoice", 0); + administration::activity_add(ACTIVITY_USER, c->id, "activity.update_invoice"); return A_ERR_SUCCESS; } } @@ -1578,7 +1578,7 @@ a_err administration::invoice_add(invoice* inv) return A_ERR_GENERIC; } - administration::activity_add(ACTIVITY_USER, inv->id, "activity.add_invoice", 0); + administration::activity_add(ACTIVITY_USER, inv->id, "activity.add_invoice"); g_administration.next_id++; g_administration.next_sequence_number++; @@ -1933,7 +1933,7 @@ billing_item administration::billing_item_create_empty() // Activity functions. // =================== -a_err administration::activity_add(char* user, char* ref_id, char* message, ...) +a_err administration::activity_add(char* user, char* ref_id, char* message) { activity* new_activity = (activity*)memops::alloc(sizeof(activity)); strops::copy(new_activity->user_name, user, MAX_LEN_SHORT_DESC); @@ -1941,21 +1941,6 @@ a_err administration::activity_add(char* user, char* ref_id, char* message, ...) strops::copy(new_activity->message, message, MAX_LEN_LONG_DESC); new_activity->timestamp = time(NULL); - va_list args; - va_start(args, message); - - char* param; - u32 param_count = 0; - do - { - param = va_arg(args, char*); - if (param != 0) { - strops::copy(new_activity->params[param_count++], param, MAX_LEN_LONG_DESC); - } - } while (param && param_count < ACTIVITY_MAX_PARAMS); - - va_end(args); - if (!list_prepend(&g_administration.activities, new_activity)) { return A_ERR_GENERIC; } @@ -1975,4 +1960,20 @@ u32 administration::activity_get_all_for_object(activity* buffer, char* ref_id) list_iterator_stop(&g_administration.activities); return write_cursor; +} + +u32 administration::activity_count() +{ + return list_size(&g_administration.activities); +} + +a_err administration::activity_get_by_index(u32 index, activity* buffer) +{ + assert(buffer); + + activity* c = (activity *)list_get_at(&g_administration.activities, index); + if (c == NULL) return A_ERR_NOT_FOUND; + *buffer = *c; + + return A_ERR_SUCCESS; }
\ No newline at end of file |
