#ifndef __SSMD_ACL_H__ #define __SSMD_ACL_H__ #include #include class Pdu; namespace SSMD { class ACL { public: ACL(unsigned id, unsigned profileId, const std::string & mac, unsigned port, unsigned shape, unsigned burst, bool isUpload); ACL(const ACL & rvalue); ~ACL(); ACL & operator=(const ACL & rvalue); unsigned getId() const { return _id; } unsigned getProfileId() const { return _profileId; } const std::string & getMAC() const { return _mac; } std::string getPort() const { return _port; } unsigned getShape() const { return _shape; } unsigned getBurst() const { return _burst; } bool isUpload() const { return _isUpload; } void appendPdu(Pdu & pdu) const; private: unsigned _id; unsigned _profileId; std::string _mac; std::string _port; unsigned _shape; unsigned _burst; bool _isUpload; std::string getSuffix() const; friend std::ostream & operator<<(std::ostream & stream, const ACL & acl); }; std::ostream & operator<<(std::ostream & stream, const SSMD::ACL & acl); } #endif