8 #include "boost/regex.hpp"
14 : m_chainNameIndex (this),
15 m_trigDecisionToolCore(0)
26 return m_chainNameIndex.propagateChainNames (
chainName);
42 m_chainNameIndex.clear();
55 if (
static_cast<int> (slotCache.
m_caches->size()) <= type_key)
56 slotCache.
m_caches->resize (type_key + 1);
57 return (*slotCache.
m_caches)[type_key];
64 return m_chainNameIndex.chainNameToIndex (
chainName);
85 TrigDefs::alsoDeactivateTEs);
90 TrigDefs::alsoDeactivateTEs);
111 if (m_chainNames.empty()) {
112 m_chainNames = m_core->getConfiguredChainNames();
113 m_nConfiguredChainNames = m_chainNames.size();
114 m_chainIndexMap.clear();
115 for (
size_t i = 0;
i < m_chainNames.size();
i++) {
116 const std::string&
chainName = m_chainNames[
i];
124 if (
chainName.find(
"L2_") != std::string::npos) {
125 const std::string
l1 = m_core->lowerChainName(
chainName );
127 if( m_l1l2Map.find(
l1 ) == m_l1l2Map.end() ) {
142 assertConfiguredChainNames();
144 if (
it == m_chainIndexMap.end()) {
145 size_t chainIndex = m_chainNames.size();
155 std::vector<std::string>
159 assertConfiguredChainNames();
160 return std::vector<std::string> (m_chainNames.begin(),
161 m_chainNames.begin() + m_nConfiguredChainNames);
169 assertConfiguredChainNames();
170 return m_chainNames.at (
index);
178 m_chainNames.clear();
179 m_chainIndexMap.clear();
180 m_nConfiguredChainNames = 0;
182 assertConfiguredChainNames();
190 if(
chainName.find(
"L1_" ) == std::string::npos )
196 if( m_l1l2Map.find(
chainName ) == m_l1l2Map.end() ) {
205 std::map< std::string, std::string >::const_iterator iter =
207 std::map< std::string, std::string >::const_iterator
end =
209 for( ; iter !=
end; ++iter ) {
211 if( boost::regex_match( iter->first.c_str(),
what, compiled ) ) {
215 chains +=
"|" + iter->second;
226 if(
output.find(
"|" ) != std::string::npos ) {
237 typeMap_t::const_iterator
it = m_typeMap.find (tid);
238 if (
it != m_typeMap.end()) {
242 int type_key = m_typeMap.size();
243 m_typeMap[tid] = type_key;