LLDB  mainline
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Static Private Member Functions | Private Attributes | List of all members
sddarwinlog_private::FilterRule Class Referenceabstract
Inheritance diagram for sddarwinlog_private::FilterRule:
Inheritance graph
Collaboration diagram for sddarwinlog_private::FilterRule:
Collaboration graph

Public Types

using OperationCreationFunc = std::function< FilterRuleSP(bool accept, size_t attribute_index, const std::string &op_arg, Status &error)>

Public Member Functions

virtual ~FilterRule ()=default
StructuredData::ObjectSP Serialize () const
virtual void Dump (Stream &stream) const =0
ConstString GetOperationType () const

Static Public Member Functions

static void RegisterOperation (ConstString operation, const OperationCreationFunc &creation_func)
static FilterRuleSP CreateRule (bool match_accepts, size_t attribute, ConstString operation, const std::string &op_arg, Status &error)

Protected Member Functions

 FilterRule (bool accept, size_t attribute_index, ConstString operation)
virtual void DoSerialization (StructuredData::Dictionary &dict) const =0
bool GetMatchAccepts () const
const char * GetFilterAttribute () const

Private Types

using CreationFuncMap = std::map< ConstString, OperationCreationFunc >

Static Private Member Functions

static CreationFuncMapGetCreationFuncMap ()

Private Attributes

const bool m_accept
const size_t m_attribute_index
const ConstString m_operation

Detailed Description

Definition at line 182 of file StructuredDataDarwinLog.cpp.

Member Typedef Documentation

◆ CreationFuncMap

Definition at line 250 of file StructuredDataDarwinLog.cpp.

◆ OperationCreationFunc

using sddarwinlog_private::FilterRule::OperationCreationFunc = std::function<FilterRuleSP(bool accept, size_t attribute_index, const std::string &op_arg, Status &error)>

Definition at line 188 of file StructuredDataDarwinLog.cpp.

Constructor & Destructor Documentation

◆ ~FilterRule()

virtual sddarwinlog_private::FilterRule::~FilterRule ( )

◆ FilterRule()

sddarwinlog_private::FilterRule::FilterRule ( bool  accept,
size_t  attribute_index,
ConstString  operation 

Definition at line 237 of file StructuredDataDarwinLog.cpp.

Member Function Documentation

◆ CreateRule()

static FilterRuleSP sddarwinlog_private::FilterRule::CreateRule ( bool  match_accepts,
size_t  attribute,
ConstString  operation,
const std::string op_arg,
Status error 

◆ DoSerialization()

virtual void sddarwinlog_private::FilterRule::DoSerialization ( StructuredData::Dictionary dict) const
protectedpure virtual

◆ Dump()

virtual void sddarwinlog_private::FilterRule::Dump ( Stream stream) const
pure virtual

◆ GetCreationFuncMap()

static CreationFuncMap& sddarwinlog_private::FilterRule::GetCreationFuncMap ( )

Definition at line 252 of file StructuredDataDarwinLog.cpp.

◆ GetFilterAttribute()

const char* sddarwinlog_private::FilterRule::GetFilterAttribute ( ) const

◆ GetMatchAccepts()

bool sddarwinlog_private::FilterRule::GetMatchAccepts ( ) const

Definition at line 243 of file StructuredDataDarwinLog.cpp.

◆ GetOperationType()

ConstString sddarwinlog_private::FilterRule::GetOperationType ( ) const

Definition at line 234 of file StructuredDataDarwinLog.cpp.

◆ RegisterOperation()

static void sddarwinlog_private::FilterRule::RegisterOperation ( ConstString  operation,
const OperationCreationFunc creation_func 

Definition at line 190 of file StructuredDataDarwinLog.cpp.

◆ Serialize()

StructuredData::ObjectSP sddarwinlog_private::FilterRule::Serialize ( ) const

Member Data Documentation

◆ m_accept

const bool sddarwinlog_private::FilterRule::m_accept

Definition at line 257 of file StructuredDataDarwinLog.cpp.

◆ m_attribute_index

const size_t sddarwinlog_private::FilterRule::m_attribute_index

Definition at line 258 of file StructuredDataDarwinLog.cpp.

◆ m_operation

const ConstString sddarwinlog_private::FilterRule::m_operation

Definition at line 259 of file StructuredDataDarwinLog.cpp.

The documentation for this class was generated from the following file: