opendnp3  3.1.0
Reference implementation of DNP3 (IEEE-1815)
opendnp3::ClassField Class Reference

Specifies a set of event classes e.g. More...

#include <opendnp3/app/ClassField.h>

Public Member Functions

 ClassField ()
 
 ClassField (bool class0, bool class1, bool class2, bool class3)
 
 ClassField (EventClass ec)
 
 ClassField (PointClass pc)
 
 ClassField (uint8_t mask_)
 
void Clear (const ClassField &field)
 
uint8_t GetBitfield () const
 
bool HasAnyClass () const
 
bool HasClass0 () const
 
bool HasClass1 () const
 
bool HasClass2 () const
 
bool HasClass3 () const
 
bool HasEventClass () const
 
bool HasEventType (EventClass ec) const
 
bool Intersects (const ClassField &other) const
 
bool IsEmpty () const
 
ClassField OnlyEventClasses () const
 
void Set (const ClassField &field)
 
void Set (PointClass pc)
 

Static Public Member Functions

static ClassField AllClasses ()
 
static ClassField AllEventClasses ()
 
static ClassField None ()
 

Static Public Attributes

static const uint8_t ALL_CLASSES = EVENT_CLASSES | CLASS_0
 
static const uint8_t CLASS_0 = static_cast<uint8_t>(PointClass::Class0)
 
static const uint8_t CLASS_1 = static_cast<uint8_t>(PointClass::Class1)
 
static const uint8_t CLASS_2 = static_cast<uint8_t>(PointClass::Class2)
 
static const uint8_t CLASS_3 = static_cast<uint8_t>(PointClass::Class3)
 
static const uint8_t EVENT_CLASSES = CLASS_1 | CLASS_2 | CLASS_3
 

Private Attributes

uint8_t bitfield
 

Detailed Description

Specifies a set of event classes e.g.

some subset of {0, 1, 2, 3}

Definition at line 34 of file ClassField.h.

Constructor & Destructor Documentation

◆ ClassField() [1/5]

opendnp3::ClassField::ClassField ( )

◆ ClassField() [2/5]

opendnp3::ClassField::ClassField ( PointClass  pc)
explicit

◆ ClassField() [3/5]

opendnp3::ClassField::ClassField ( EventClass  ec)
explicit

◆ ClassField() [4/5]

opendnp3::ClassField::ClassField ( uint8_t  mask_)
explicit

◆ ClassField() [5/5]

opendnp3::ClassField::ClassField ( bool  class0,
bool  class1,
bool  class2,
bool  class3 
)

Member Function Documentation

◆ AllClasses()

static ClassField opendnp3::ClassField::AllClasses ( )
static

◆ AllEventClasses()

static ClassField opendnp3::ClassField::AllEventClasses ( )
static

◆ Clear()

void opendnp3::ClassField::Clear ( const ClassField field)

◆ GetBitfield()

uint8_t opendnp3::ClassField::GetBitfield ( ) const
inline

Definition at line 51 of file ClassField.h.

References bitfield.

◆ HasAnyClass()

bool opendnp3::ClassField::HasAnyClass ( ) const

◆ HasClass0()

bool opendnp3::ClassField::HasClass0 ( ) const

◆ HasClass1()

bool opendnp3::ClassField::HasClass1 ( ) const

◆ HasClass2()

bool opendnp3::ClassField::HasClass2 ( ) const

◆ HasClass3()

bool opendnp3::ClassField::HasClass3 ( ) const

◆ HasEventClass()

bool opendnp3::ClassField::HasEventClass ( ) const

◆ HasEventType()

bool opendnp3::ClassField::HasEventType ( EventClass  ec) const

◆ Intersects()

bool opendnp3::ClassField::Intersects ( const ClassField other) const

◆ IsEmpty()

bool opendnp3::ClassField::IsEmpty ( ) const

◆ None()

static ClassField opendnp3::ClassField::None ( )
static

◆ OnlyEventClasses()

ClassField opendnp3::ClassField::OnlyEventClasses ( ) const

◆ Set() [1/2]

void opendnp3::ClassField::Set ( const ClassField field)

◆ Set() [2/2]

void opendnp3::ClassField::Set ( PointClass  pc)

Member Data Documentation

◆ ALL_CLASSES

const uint8_t opendnp3::ClassField::ALL_CLASSES = EVENT_CLASSES | CLASS_0
static

Definition at line 69 of file ClassField.h.

◆ bitfield

uint8_t opendnp3::ClassField::bitfield
private

Definition at line 86 of file ClassField.h.

Referenced by GetBitfield().

◆ CLASS_0

const uint8_t opendnp3::ClassField::CLASS_0 = static_cast<uint8_t>(PointClass::Class0)
static

Definition at line 64 of file ClassField.h.

◆ CLASS_1

const uint8_t opendnp3::ClassField::CLASS_1 = static_cast<uint8_t>(PointClass::Class1)
static

Definition at line 65 of file ClassField.h.

◆ CLASS_2

const uint8_t opendnp3::ClassField::CLASS_2 = static_cast<uint8_t>(PointClass::Class2)
static

Definition at line 66 of file ClassField.h.

◆ CLASS_3

const uint8_t opendnp3::ClassField::CLASS_3 = static_cast<uint8_t>(PointClass::Class3)
static

Definition at line 67 of file ClassField.h.

◆ EVENT_CLASSES

const uint8_t opendnp3::ClassField::EVENT_CLASSES = CLASS_1 | CLASS_2 | CLASS_3
static

Definition at line 68 of file ClassField.h.


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