|
| ||||||||||||||||
This is a specialized version of the import filter CodeGenerator.
It skips dest and action blocks in policies. The action block is replaced with the actual policy tagging.
| typedef pair<bool, uint32_t> Taginfo | Taginfo |
| typedef vector<Taginfo> Tags | Tags |
| NoProtoSpec (class) | NoProtoSpec |
| ProtoRedefined (class) | ProtoRedefined |
| SourceMatchCodeGenerator (uint32_t tagstart, const VarMap& varmap)
| SourceMatchCodeGenerator |
Parameters:
| tagstart | the first policy tag available. |
| varmap | the varmap. |
| const Element* visit_policy (PolicyStatement& policy)
| visit_policy |
Reimplemented from CodeGenerator.
| const Element* visit_term (Term& term)
| visit_term |
Reimplemented from CodeGenerator.
| const Element* visit_proto (NodeProto& node)
| visit_proto |
Reimplemented from CodeGenerator.
| vector<Code*>& codes ()
| codes |
The targets of source match code may be multiple as different protocols may refer to different source terms. Thus many different code fragments may be generated.
Returns: seturn all the code fragments generated.
| const Tags& tags ()
| tags |
[const]
The source match code generator will map source blocks to tags. If a source block is empty, a tag will not be used.
Returns: information about tags used.
| uint32_t next_tag ()
| next_tag |
[const]
Returns: The next available policy tag.
| const string& protocol ()
| protocol |
[protected]
Reimplemented from CodeGenerator.