8#ifndef INCLUDED_BALL_CATEGORYMANAGER
9#define INCLUDED_BALL_CATEGORYMANAGER
195#include <balscm_version.h>
215#include <bsl_string.h>
216#include <bsl_unordered_map.h>
217#include <bsl_vector.h>
282 Category *addNewCategory(
const char *categoryName,
286 int triggerAllLevel);
291 void privateApplyRulesToCategory(
Category* category);
299 void privateApplyRulesToAllCategories(
337 int triggerAllLevel);
353 const char *categoryName,
357 int triggerAllLevel);
371 const char *categoryName);
397 int triggerAllLevel);
445 template <
class t_CATEGORY_VISITOR>
483 template <
class t_CATEGORY_VISITOR>
489#ifndef BDE_OMIT_INTERNAL_DEPRECATED
540 operator const void *()
const;
602 operator const void *()
const;
620 return *d_categories[index];
626 return d_ruleSetMutex;
629template <
class t_CATEGORY_VISITOR>
634 it != d_categories.end();
645 return static_cast<int>(d_categories.size());
652 return *d_categories[index];
664 return d_ruleSetSequenceNumber;
667template <
class t_CATEGORY_VISITOR>
672 it != d_categories.end();
678#ifndef BDE_OMIT_INTERNAL_DEPRECATED
686CategoryManagerIter::CategoryManagerIter(
688: d_cm_p(&categoryManager)
702CategoryManagerIter::operator
const void *()
const
704 return (0 <= d_index && d_index < d_cm_p->length()) ?
this : 0;
710 return d_cm_p->operator[](d_index);
720: d_cm_p(categoryManager)
735 return d_cm_p->operator[](d_index);
740CategoryManagerManip::operator
const void *()
const
742 return (0 <= d_index && d_index < d_cm_p->length()) ?
this : 0;
Definition ball_category.h:362
Definition ball_categorymanager.h:503
const Category & operator()() const
Definition ball_categorymanager.h:708
void operator++()
Definition ball_categorymanager.h:695
~CategoryManagerIter()=default
Destroy this iterator.
Definition ball_categorymanager.h:560
void advance()
Definition ball_categorymanager.h:727
~CategoryManagerManip()=default
Destroy this iterator.
Category & operator()()
Definition ball_categorymanager.h:733
Definition ball_categorymanager.h:231
void resetCategoryHolders()
Category * lookupCategory(const char *categoryName)
CategoryManager(bslma::Allocator *basicAllocator=0)
Category * addCategory(const char *categoryName, int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel)
const RuleSet & ruleSet() const
Definition ball_categorymanager.h:656
int addRule(const Rule &ruleToAdd)
int addRules(const RuleSet &ruleSet)
int removeRules(const RuleSet &ruleSet)
Category * lookupCategory(CategoryHolder *categoryHolder, const char *categoryName)
const Category * lookupCategory(const char *categoryName) const
bsls::Types::Int64 ruleSetSequenceNumber() const
Definition ball_categorymanager.h:662
int removeRule(const Rule &ruleToRemove)
Category & operator[](int index)
Definition ball_categorymanager.h:617
Category * setThresholdLevels(const char *categoryName, int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel)
int length() const
Definition ball_categorymanager.h:642
void visitCategories(const t_CATEGORY_VISITOR &visitor)
Definition ball_categorymanager.h:630
Category * addCategory(CategoryHolder *categoryHolder, const char *categoryName, int recordLevel, int passLevel, int triggerLevel, int triggerAllLevel)
bslmt::Mutex & rulesetMutex()
Definition ball_categorymanager.h:624
~CategoryManager()
Destroy this category manager.
Definition ball_category.h:184
Definition ball_ruleset.h:151
Definition ball_rule.h:177
Definition bslstl_unorderedmap.h:1089
Definition bslstl_vector.h:1025
VALUE_TYPE * iterator
Definition bslstl_vector.h:1057
VALUE_TYPE const * const_iterator
Definition bslstl_vector.h:1058
Definition bslma_allocator.h:457
Definition bslmt_lockguard.h:234
Definition bslmt_mutex.h:315
Definition bslmt_readlockguard.h:287
Definition bslmt_readerwriterlock.h:294
Definition bsls_atomic.h:892
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition ball_administration.h:214
Definition bdlb_cstringequalto.h:120
Definition bdlb_cstringhash.h:234
long long Int64
Definition bsls_types.h:132