![]() |
DUNE: Uniform Navigational Environment
2016.05.0
|
SourceFilter Filter to check if a message is allowed to pass according to its source system and/or entity.
Public Member Functions | |
SourceFilter (Tasks::Task &task, const std::vector< std::string > &source) | |
SourceFilter (Tasks::Task &task, const bool only_systems, const std::vector< std::string > &source) | |
SourceFilter (Tasks::Task &task, const std::vector< std::string > &source, const std::string &msg_name) | |
SourceFilter (Tasks::Task &task, const bool only_systems, const std::vector< std::string > &source, const std::string &msg_name) | |
~SourceFilter (void) | |
void | defineSystemFilter (const std::vector< std::string > &source) |
void | defineEntityFilter (const std::vector< std::string > &source) |
void | defineSystemEntityFilter (const std::vector< std::string > &source) |
void | defineMessageSystemFilter (const std::vector< std::string > &source) |
void | defineMessageEntityFilter (const std::vector< std::string > &source) |
void | defineMessageSystemEntityFilter (const std::vector< std::string > &source) |
bool | match (const IMC::Message *msg) |
DUNE::Tasks::SourceFilter::SourceFilter | ( | Tasks::Task & | task, |
const std::vector< std::string > & | source | ||
) |
Construct a task command input filter by systems and entities for specific messages.
[in] | task | filter parent task. |
[in] | source | desired command sources system and entity names. |
References defineMessageSystemEntityFilter().
DUNE::Tasks::SourceFilter::SourceFilter | ( | Tasks::Task & | task, |
const bool | only_systems, | ||
const std::vector< std::string > & | source | ||
) |
Construct a task input filter by systems or entities for specific messages.
[in] | task | filter parent task. |
[in] | only_systems | flag that selects filtering by systems or entities |
[in] | source | desired sources system and entity names. |
References defineMessageEntityFilter(), and defineMessageSystemFilter().
DUNE::Tasks::SourceFilter::SourceFilter | ( | Tasks::Task & | task, |
const std::vector< std::string > & | source, | ||
const std::string & | msg_name | ||
) |
Construct a task input filter by systems and entities for a general message.
[in] | task | filter parent task. |
[in] | source | desired sources system and entity names. |
[in] | msg_name | filtered message name. |
References defineSystemEntityFilter().
DUNE::Tasks::SourceFilter::SourceFilter | ( | Tasks::Task & | task, |
const bool | only_systems, | ||
const std::vector< std::string > & | source, | ||
const std::string & | msg_name | ||
) |
Construct a task input filter by systems or entities for a general message.
[in] | task | filter parent task. |
[in] | only_systems | flag that selects filtering by systems or entities |
[in] | source | desired sources system and entity names. |
[in] | msg_name | filtered message name. |
References defineEntityFilter(), and defineSystemFilter().
|
inline |
Destructor.
void DUNE::Tasks::SourceFilter::defineEntityFilter | ( | const std::vector< std::string > & | source | ) |
Define filter by entities.
[in] | source | desired sources system and entity names. |
References DUNE::Utils::String::split().
Referenced by defineMessageEntityFilter(), defineMessageSystemEntityFilter(), defineSystemEntityFilter(), and SourceFilter().
void DUNE::Tasks::SourceFilter::defineMessageEntityFilter | ( | const std::vector< std::string > & | source | ) |
Define the desired source systems and entities for several messages.
[in] | source | desired sources system and entity names. |
References defineEntityFilter(), and DUNE::Utils::String::split().
Referenced by SourceFilter().
void DUNE::Tasks::SourceFilter::defineMessageSystemEntityFilter | ( | const std::vector< std::string > & | source | ) |
Define the desired source systems and entities for several messages.
[in] | source | desired sources system and entity names. |
References defineEntityFilter(), defineSystemFilter(), and DUNE::Utils::String::split().
Referenced by SourceFilter().
void DUNE::Tasks::SourceFilter::defineMessageSystemFilter | ( | const std::vector< std::string > & | source | ) |
Define the desired source systems and entities for several messages.
[in] | source | desired sources system and entity names. |
References defineSystemFilter(), and DUNE::Utils::String::split().
Referenced by SourceFilter().
void DUNE::Tasks::SourceFilter::defineSystemEntityFilter | ( | const std::vector< std::string > & | source | ) |
Define the desired message source systems and entities.
[in] | source | desired sources system and entity names. |
References defineEntityFilter(), defineSystemFilter(), and DUNE::Utils::String::split().
Referenced by SourceFilter().
void DUNE::Tasks::SourceFilter::defineSystemFilter | ( | const std::vector< std::string > & | source | ) |
Define filter by systems.
[in] | source | desired sources system and entity names. |
References DUNE::Utils::String::split().
Referenced by defineMessageSystemEntityFilter(), defineMessageSystemFilter(), defineSystemEntityFilter(), and SourceFilter().
bool DUNE::Tasks::SourceFilter::match | ( | const IMC::Message * | msg | ) |
Verification of the message source system and entity.
[in] | msg | input message. |
Referenced by Simulators::UAV::Task::commandFilter(), Simulators::UAVAutopilot::Task::consume(), Control::Path::Height::Task::consume(), and DUNE::Control::ProxyPathController::sourceFilter().