syncd/PortMap.h (26 lines of code) (raw):
#pragma once
#include "swss/sal.h"
#include <map>
#include <set>
#include <string>
#include <memory>
namespace syncd
{
class PortMap
{
public:
PortMap() = default;
virtual ~PortMap() = default;
public:
void insert(
_In_ const std::set<int>& laneSet,
_In_ const std::string& name);
void clear();
size_t size() const;
const std::map<std::set<int>, std::string>& getRawPortMap() const;
/**
* @brief Set global object for RPC server binding.
*/
static void setGlobalPortMap(
_In_ std::shared_ptr<PortMap> portMap);
private:
std::map<std::set<int>, std::string> m_portMap;
};
}