cdr.h: Fix doxygen comments.

* Also some misc formatting in cdr.c.

Change-Id: Ied89a28802a662c37c43326a1aafdce596e0df4a
certified/13.18
Richard Mudgett 8 years ago
parent 39b68a41f7
commit 34d55352a5

@ -217,19 +217,19 @@
/*! \brief CDR engine settings */
enum ast_cdr_settings {
CDR_ENABLED = 1 << 0, /*< Enable CDRs */
CDR_BATCHMODE = 1 << 1, /*< Whether or not we should dispatch CDRs in batches */
CDR_UNANSWERED = 1 << 2, /*< Log unanswered CDRs */
CDR_CONGESTION = 1 << 3, /*< Treat congestion as if it were a failed call */
CDR_END_BEFORE_H_EXTEN = 1 << 4, /*< End the CDR before the 'h' extension runs */
CDR_INITIATED_SECONDS = 1 << 5, /*< Include microseconds into the billing time */
CDR_DEBUG = 1 << 6, /*< Enables extra debug statements */
CDR_ENABLED = 1 << 0, /*!< Enable CDRs */
CDR_BATCHMODE = 1 << 1, /*!< Whether or not we should dispatch CDRs in batches */
CDR_UNANSWERED = 1 << 2, /*!< Log unanswered CDRs */
CDR_CONGESTION = 1 << 3, /*!< Treat congestion as if it were a failed call */
CDR_END_BEFORE_H_EXTEN = 1 << 4, /*!< End the CDR before the 'h' extension runs */
CDR_INITIATED_SECONDS = 1 << 5, /*!< Include microseconds into the billing time */
CDR_DEBUG = 1 << 6, /*!< Enables extra debug statements */
};
/*! \brief CDR Batch Mode settings */
enum ast_cdr_batch_mode_settings {
BATCH_MODE_SCHEDULER_ONLY = 1 << 0, /*< Don't spawn a thread to handle the batches - do it on the scheduler */
BATCH_MODE_SAFE_SHUTDOWN = 1 << 1, /*< During safe shutdown, submit the batched CDRs */
BATCH_MODE_SCHEDULER_ONLY = 1 << 0, /*!< Don't spawn a thread to handle the batches - do it on the scheduler */
BATCH_MODE_SAFE_SHUTDOWN = 1 << 1, /*!< During safe shutdown, submit the batched CDRs */
};
/*!
@ -237,14 +237,14 @@ enum ast_cdr_batch_mode_settings {
* state of a CDR object based on these flags.
*/
enum ast_cdr_options {
AST_CDR_FLAG_KEEP_VARS = (1 << 0), /*< Copy variables during the operation */
AST_CDR_FLAG_DISABLE = (1 << 1), /*< Disable the current CDR */
AST_CDR_FLAG_DISABLE_ALL = (3 << 1), /*< Disable the CDR and all future CDRs */
AST_CDR_FLAG_PARTY_A = (1 << 3), /*< Set the channel as party A */
AST_CDR_FLAG_FINALIZE = (1 << 4), /*< Finalize the current CDRs */
AST_CDR_FLAG_SET_ANSWER = (1 << 5), /*< If the channel is answered, set the answer time to now */
AST_CDR_FLAG_RESET = (1 << 6), /*< If set, set the start and answer time to now */
AST_CDR_LOCK_APP = (1 << 7), /*< Prevent any further changes to the application field/data field for this CDR */
AST_CDR_FLAG_KEEP_VARS = (1 << 0), /*!< Copy variables during the operation */
AST_CDR_FLAG_DISABLE = (1 << 1), /*!< Disable the current CDR */
AST_CDR_FLAG_DISABLE_ALL = (3 << 1), /*!< Disable the CDR and all future CDRs */
AST_CDR_FLAG_PARTY_A = (1 << 3), /*!< Set the channel as party A */
AST_CDR_FLAG_FINALIZE = (1 << 4), /*!< Finalize the current CDRs */
AST_CDR_FLAG_SET_ANSWER = (1 << 5), /*!< If the channel is answered, set the answer time to now */
AST_CDR_FLAG_RESET = (1 << 6), /*!< If set, set the start and answer time to now */
AST_CDR_LOCK_APP = (1 << 7), /*!< Prevent any further changes to the application field/data field for this CDR */
};
/*!
@ -262,11 +262,11 @@ enum ast_cdr_disposition {
/*! \brief The global options available for CDRs */
struct ast_cdr_config {
struct ast_flags settings; /*< CDR settings */
struct ast_flags settings; /*!< CDR settings */
struct batch_settings {
unsigned int time; /*< Time between batches */
unsigned int size; /*< Size to trigger a batch */
struct ast_flags settings; /*< Settings for batches */
unsigned int time; /*!< Time between batches */
unsigned int size; /*!< Size to trigger a batch */
struct ast_flags settings; /*!< Settings for batches */
} batch_settings;
};
@ -312,7 +312,7 @@ struct ast_cdr {
unsigned int flags;
/*! Unique Channel Identifier */
char uniqueid[AST_MAX_UNIQUEID];
/* Linked group Identifier */
/*! Linked group Identifier */
char linkedid[AST_MAX_UNIQUEID];
/*! User field */
char userfield[AST_MAX_USER_FIELD];

@ -223,7 +223,7 @@ static int cdr_toggle_runtime_options(void);
/*! \brief The configuration settings for this module */
struct module_config {
struct ast_cdr_config *general; /*< CDR global settings */
struct ast_cdr_config *general; /*!< CDR global settings */
};
/*! \brief The container for the module configuration */
@ -1462,7 +1462,8 @@ static int base_process_parked_channel(struct cdr_object *cdr, struct ast_parked
/* SINGLE STATE */
static void single_state_init_function(struct cdr_object *cdr) {
static void single_state_init_function(struct cdr_object *cdr)
{
cdr->start = ast_tvnow();
cdr_object_check_party_a_answer(cdr);
}
@ -2020,6 +2021,7 @@ static int cdr_object_finalize_party_b(void *obj, void *arg, int flags)
struct cdr_object *cdr = obj;
struct ast_channel_snapshot *party_b = arg;
struct cdr_object *it_cdr;
for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) {
if (it_cdr->party_b.snapshot
&& !strcasecmp(it_cdr->party_b.snapshot->name, party_b->name)) {
@ -2037,6 +2039,7 @@ static int cdr_object_update_party_b(void *obj, void *arg, int flags)
struct cdr_object *cdr = obj;
struct ast_channel_snapshot *party_b = arg;
struct cdr_object *it_cdr;
for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) {
if (!it_cdr->fn_table->process_party_b) {
continue;
@ -2889,7 +2892,7 @@ void ast_cdr_format_var(struct ast_cdr *cdr, const char *name, char **ret, char
}
}
/*
/*!
* \internal
* \brief Callback that finds all CDRs that reference a particular channel by name
*/
@ -2905,7 +2908,7 @@ static int cdr_object_select_all_by_name_cb(void *obj, void *arg, int flags)
return 0;
}
/*
/*!
* \internal
* \brief Callback that finds a CDR by channel name
*/
@ -3142,8 +3145,9 @@ int ast_cdr_serialize_variables(const char *channel_name, struct ast_str **buf,
ao2_lock(cdr);
for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) {
if (++x > 1)
if (++x > 1) {
ast_str_append(buf, 0, "\n");
}
AST_LIST_TRAVERSE(&it_cdr->party_a.variables, variable, entries) {
if (!(var = ast_var_name(variable))) {
@ -3226,6 +3230,7 @@ static int cdr_object_update_party_b_userfield_cb(void *obj, void *arg, int flag
struct cdr_object *cdr = obj;
struct party_b_userfield_update *info = arg;
struct cdr_object *it_cdr;
for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) {
if (it_cdr->fn_table == &finalized_state_fn_table && it_cdr->next != NULL) {
continue;
@ -3800,6 +3805,7 @@ static void cli_show_channel(struct ast_cli_args *a)
ao2_lock(cdr);
for (it_cdr = cdr; it_cdr; it_cdr = it_cdr->next) {
struct timeval end;
if (snapshot_is_dialed(it_cdr->party_a.snapshot)) {
continue;
}
@ -4290,5 +4296,3 @@ int ast_cdr_engine_reload(void)
return cdr_toggle_runtime_options();
}

Loading…
Cancel
Save