BloombergLP::ball::CategoryManager::setCategory

Add or update a category with the specified name and threshold levels.

Synopsis

Declared in <ball_categorymanager.h>

Category*
setCategory(
    char const* categoryName,
    int recordLevel,
    int passLevel,
    int triggerLevel,
    int triggerAllLevel);

Description

Add to this category registry a new category having the specified categoryName, possibly changed by the registered category name filter callback, and having recordLevel, passLevel, triggerLevel, and triggerAllLevel threshold levels, respectively, if (1) (the possibly filtered) categoryName is not present in the registry, (2) the number of categories in the registry is less than the registry capacity, and (3) recordLevel, passLevel, triggerLevel, and triggerAllLevel are all within the range [0 .. 255]. If (the possibly filtered) categoryName is already present and each threshold level is within the valid range then reset the threshold levels of (the possibly filtered) categoryName to the specified values. Return the address of the (possibly newly-created) modifiable category having (the possibly filtered) categoryName if that categoryName was either created or its thresholds reset, and 0 otherwise. The behavior is undefined unless categoryName is null-terminated. Note that 0, and not the Default Category, is returned on failure.

Return Value

address of the (possibly newly-created) category if created or reset, and 0 otherwise

Parameters

NameDescription
categoryNamename of the category to add or update
recordLevelrecord threshold level
passLevelpass threshold level
triggerLeveltrigger threshold level
triggerAllLeveltrigger-all threshold level