meta/SaiAttrWrapper.h (26 lines of code) (raw):

#pragma once extern "C" { #include "saimetadata.h" } #include "swss/sal.h" namespace saimeta { class SaiAttrWrapper { public: SaiAttrWrapper( _In_ const sai_attr_metadata_t* meta, _In_ const sai_attribute_t& attr); virtual ~SaiAttrWrapper(); public: const sai_attribute_t* getSaiAttr() const; const sai_attr_metadata_t* getSaiAttrMetadata() const; sai_attr_id_t getAttrId() const; private: SaiAttrWrapper(const SaiAttrWrapper&) = delete; SaiAttrWrapper& operator=(const SaiAttrWrapper&) = delete; private: /** * @brief Attribute metadata associated with given attribute. */ const sai_attr_metadata_t* m_meta; sai_attribute_t m_attr; }; }