text: /**
  * firewall API
  * Firewall Service
  *
  * OpenAPI spec version: 2.0
  *
  * NOTE: This class is auto generated by the swagger code generator program.
  * https://github.com/polycube-network/swagger-codegen.git
  * branch polycube
  */
  
  
  /* Do not edit this file manually */
  
  /*
  * ChainRuleInterface.h
  *
  *
  */
  
  #pragma once
  
  #include "../serializer/ChainRuleJsonObject.h"
  
  
  using namespace io::swagger::server::model;
  
  class ChainRuleInterface {
  public:
  
    virtual void update(const ChainRuleJsonObject &conf) = 0;
    virtual ChainRuleJsonObject toJsonObject() = 0;
  
    /// <summary>
    /// Rule Identifier
    /// </summary>
    virtual uint32_t getId() = 0;
  
    /// <summary>
    /// Source IP Address.
    /// </summary>
    virtual std::string getSrc() = 0;
  
    /// <summary>
    /// Destination IP Address.
    /// </summary>
    virtual std::string getDst() = 0;
  
    /// <summary>
    /// Level 4 Protocol.
    /// </summary>
    virtual std::string getL4proto() = 0;
  
    /// <summary>
    /// Source L4 Port
    /// </summary>
    virtual uint16_t getSport() = 0;
  
    /// <summary>
    /// Destination L4 Port
    /// </summary>
    virtual uint16_t getDport() = 0;
  
    /// <summary>
    /// TCP flags. Allowed values: SYN, FIN, ACK, RST, PSH, URG, CWR, ECE. ! means set to 0.
    /// </summary>
    virtual std::string getTcpflags() = 0;
  
    /// <summary>
    /// Connection status (NEW, ESTABLISHED, RELATED, INVALID)
    /// </summary>
    virtual ConntrackstatusEnum getConntrack() = 0;
  
    /// <summary>
    /// Action if the rule matches. Default is DROP.
    /// </summary>
    virtual ActionEnum getAction() = 0;
  
    /// <summary>
    /// Description of the rule.
    /// </summary>
    virtual std::string getDescription() = 0;
  };
  
  