diff --git a/libwccl/ops/match/matchaction.h b/libwccl/ops/match/matchaction.h new file mode 100644 index 0000000000000000000000000000000000000000..507499cbe5caeced65dfe067c2ec5ba8820e5cb0 --- /dev/null +++ b/libwccl/ops/match/matchaction.h @@ -0,0 +1,24 @@ +#ifndef LIBWCCL_OPS_MATCH_MATCHACTION_H +#define LIBWCCL_OPS_MATCH_MATCHACTION_H + +namespace Wccl { + +/** + * Abstract base class for actions in WCCL match rules + */ +class MatchAction : public Expression +{ +public: + /** + * @returns Name of the action. + */ + virtual std::string name() const = 0; + /** + * Executes the action for the given execution context. + */ + virtual void execute(const ActionExecContext& context) const = 0; +}; + +} /* end ns Wccl */ + +#endif // LIBWCCL_OPS_MATCH_MATCHACTION_H diff --git a/libwccl/ops/tagaction.h b/libwccl/ops/tagaction.h index c41ef95f7308790d146971fb7a52ed268b70f98a..f30428c3a5885a801a8a7f754bab58aa3e80a31a 100644 --- a/libwccl/ops/tagaction.h +++ b/libwccl/ops/tagaction.h @@ -8,7 +8,7 @@ namespace Wccl { /** - * Abstract base class for actions in WCCL rules + * Abstract base class for actions in WCCL tagging rules */ class TagAction : public Expression {