[#BloombergLP-ball-CategoryManager-setCategory-0f] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/CategoryManager.adoc[CategoryManager]::setCategory :relfileprefix: ../../../ :mrdocs: 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. == Synopsis Declared in `<ball_categorymanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/ball/Category.adoc[Category]* setCategory( char const* categoryName, int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#