pion::platform Namespace Reference


Classes

class  Codec
class  CodecFactory
class  Comparison
class  ConfigManager
class  Database
class  DatabaseInserter
class  DatabaseManager
class  BasicEvent
class  EventPtr
class  EventFactory
class  PlatformPlugin
class  PluginConfig
class  Protocol
class  ProtocolFactory
class  Query
class  ReactionEngine
class  ReactionScheduler
class  Reactor
class  RuleChain
class  Transform
class  TransformAssignValue
class  TransformAssignTerm
class  TransformURLEncode
 TransformURLEncode -- Transformation of URLEncoding source term into destination. More...
class  TransformURLDecode
 TransformURLDecode -- Transformation of URLDecoding source term into destination. More...
class  TransformSplitTerm
 TransformSplitTerm -- Transformation of splitting a term to multiple values based on separator. More...
class  TransformJoinTerm
 TransformJoinTerm -- Transformation of joining multiple values of a term with a separator. More...
class  TransformLookup
 TransformLookup -- Transformation based on doing lookups. More...
class  TransformRules
 TransformRules -- Transformation based on a full set of rules. More...
class  TransformRegex
 TransformRegex -- Transformation based on a set of regexp's. More...
class  Vocabulary
class  VocabularyConfig
class  VocabularyManager
struct  comparison_info

Typedefs

typedef boost::shared_ptr<
Codec
CodecPtr
 data type used for Codec smart pointers
typedef boost::shared_ptr<
Database
DatabasePtr
 data type used for Database smart pointers
typedef PionPoolAllocator< 16, 256 > EventAllocator
 default allocator used to handle memory operations for Pion Events
typedef BasicEvent< char,
EventAllocator
Event
 default data type used for Pion Events
typedef std::vector< EventPtrEventContainer
typedef boost::shared_ptr<
Protocol
ProtocolPtr
 data type used for Protocol smart pointers
typedef std::string QueryID
 data type used to uniquely identify a specific type of database query
typedef boost::shared_ptr<
Query
QueryPtr
 data type used for Query smart pointers
typedef boost::shared_ptr<
Vocabulary
VocabularyPtr
 data type for a pointer to a Vocabulary object

Functions

bool AssignValue (EventPtr &e, const Vocabulary::Term &term, const std::string &value)
template<class IteratorType>
bool HideCreditCardNumbers (IteratorType first, IteratorType last)
bool HideCreditCardNumbers (Event &e, const Vocabulary::TermRef &term_ref)
bool HideCreditCardNumbers (Event &e)
 BOOST_STATIC_ASSERT (sizeof(comparison_table)/sizeof(comparison_table[0])-1==Comparison::LAST_COMPARISON_TYPE)
const boost::regex getRegex (const std::string &str)
 Funny that there is no clear() method for regex'es...

Variables

const comparison_info comparison_table []


Typedef Documentation

typedef std::vector<EventPtr> pion::platform::EventContainer

EventContainer: naive (not very efficient) container for a collection of EventPtr objects

TODO: improve efficiency by eliminating unnecessary atomic counter operations triggered whenever the vector is resized

Definition at line 1574 of file Event.hpp.


Function Documentation

bool pion::platform::AssignValue ( EventPtr &  e,
const Vocabulary::Term &  term,
const std::string &  value 
) [inline]

AssignValue Assigns "value" into "term" of "e" -- does the appropriate casts to make it fit

Parameters:
e the Event to assign the term/value into
term the term (type) to use for assignment
value the value (as a string) to assign, using appropriate cast
Returns:
true if the assignment was possible/done

Definition at line 146 of file Transform.hpp.

Referenced by pion::platform::TransformRegex::transform(), pion::platform::TransformRules::transform(), pion::platform::TransformLookup::transform(), pion::platform::TransformJoinTerm::transform(), pion::platform::TransformSplitTerm::transform(), pion::platform::TransformURLDecode::transform(), pion::platform::TransformURLEncode::transform(), pion::platform::TransformAssignTerm::transform(), and pion::platform::TransformAssignValue::transform().

template<class IteratorType>
bool pion::platform::HideCreditCardNumbers ( IteratorType  first,
IteratorType  last 
) [inline]

Finds credit card numbers in a sequence of characters and replaces them with X's

Note: this algorithm should work for any ASCII or UTF-8 sequence but will not work for other types of character encodings. Using Boost's ICU regex algorithms is not required because doing so does not affect the results for ASCII and UTF-8 encodings.

Parameters:
first iterator pointing to the beginning of the character sequence
last iterator pointing to the end of the character sequence
Returns:
true if at least one match was found

Definition at line 940 of file Transform.hpp.

Referenced by HideCreditCardNumbers().

bool pion::platform::HideCreditCardNumbers ( Event &  e,
const Vocabulary::TermRef &  term_ref 
) [inline]

Finds credit card numbers within Event fields and replaces them with X's

Warning: will throw exception if Term is not BlobType

Parameters:
e reference to the Event to process
term_ref reference to the Term to process
Returns:
true if at least one match was found

Definition at line 1007 of file Transform.hpp.

References pion::platform::BasicEvent< CharType, AllocType >::equal_range(), and HideCreditCardNumbers().

bool pion::platform::HideCreditCardNumbers ( Event &  e  )  [inline]

Finds credit card numbers within all BlobType Event fields and replaces them with X's

Parameters:
e reference to the Event to process
Returns:
true if at least one match was found

Definition at line 1034 of file Transform.hpp.

References pion::platform::BasicEvent< CharType, AllocType >::begin(), pion::platform::BasicEvent< CharType, AllocType >::end(), and HideCreditCardNumbers().


Generated on Wed Apr 13 16:38:35 2011 for pion-platform by  doxygen 1.4.7