common/decoratorsubscriberstatetable.h (23 lines of code) (raw):

#pragma once #include <assert.h> #include <string> #include <queue> #include <tuple> #include <utility> #include <map> #include <memory> #include <deque> #include "table.h" #include "subscriberstatetable.h" #include "defaultvalueprovider.h" namespace swss { class DecoratorSubscriberStateTable : public SubscriberStateTable { public: DecoratorSubscriberStateTable(DBConnector *db, const std::string &tableName, int popBatchSize = swss::TableConsumable::DEFAULT_POP_BATCH_SIZE, int pri = 0); /* Get all elements available */ void pops(std::deque<KeyOpFieldsValuesTuple> &vkco, const std::string &prefix = EMPTY_PREFIX) override; private: std::shared_ptr<DefaultValueProvider> m_defaultValueProvider; void appendDefaultValue(std::string &key, std::string &op, std::vector<FieldValueTuple> &fvs); }; }