taskprocessor.c: New API for human friendly taskprocessor names.

* Add new API call to get a sequence number for use in human friendly
taskprocessor names.

* Add new API call to create a taskprocessor name in a given buffer and
append a sequence number.

Change-Id: Iac458f05b45232315ed64aa31b1df05b875537a9
This commit is contained in:
Richard Mudgett
2016-01-07 16:15:35 -06:00
parent 3b33ac7a46
commit ec1f1c6742
2 changed files with 61 additions and 0 deletions

View File

@@ -56,6 +56,9 @@
struct ast_taskprocessor;
/*! \brief Suggested maximum taskprocessor name length (less null terminator). */
#define AST_TASKPROCESSOR_MAX_NAME 45
#define AST_TASKPROCESSOR_HIGH_WATER_LEVEL 500
/*!
@@ -258,6 +261,30 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps);
*/
int ast_taskprocessor_is_task(struct ast_taskprocessor *tps);
/*!
* \brief Get the next sequence number to create a human friendly taskprocessor name.
* \since 13.8.0
*
* \return Sequence number for use in creating human friendly taskprocessor names.
*/
unsigned int ast_taskprocessor_seq_num(void);
/*!
* \brief Build a taskprocessor name with a sequence number on the end.
* \since 13.8.0
*
* \param buf Where to put the built taskprocessor name.
* \param size How large is buf including null terminator.
* \param format printf format to create the non-sequenced part of the name.
*
* \note The user supplied part of the taskprocessor name is truncated
* to allow the full sequence number to be appended within the supplied
* buffer size.
*
* \return Nothing
*/
void __attribute__((format(printf, 3, 4))) ast_taskprocessor_build_name(char *buf, unsigned int size, const char *format, ...);
/*!
* \brief Return the name of the taskprocessor singleton
* \since 1.6.1