[#BloombergLP-ball-CategoryManager-addCategory-07] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/CategoryManager.adoc[CategoryManager]::addCategory :relfileprefix: ../../../ :mrdocs: Add to the registry of this category manager a category having the specified `categoryName`, possibly changed by the registered category name filter callback, and having the specified `recordLevel`, `passLevel`, `triggerLevel`, and `triggerAllLevel` threshold values, respectively, if there is no category having (the possibly filtered) `categoryName` and each of the specified threshold values is in the range `[0 .. 255]`. Return the address of the newly‐created, modifiable category on success, and 0 otherwise. The behavior is undefined unless a lock is not held by this thread on the mutex returned by `rulesetMutex`. Note that if a category having (the possibly filtered) `categoryName` already exists in the registry, 0 is returned. Note that an existing category will not be modified if a category with the (possibly filtered) `categoryName` already exists. == Synopsis Declared in `<ball_categorymanager.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/ball/Category.adoc[Category]* addCategory( char const* categoryName, int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#