aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport/adapter.cpp
blob: f5717c95488dd45c09905afff976e98317a993b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//
// Copyright 2019 Ettus Research, a National Instruments Brand
//
// SPDX-License-Identifier: GPL-3.0-or-later
//

#include <uhd/exception.hpp>
#include <uhdlib/transport/adapter.hpp>

using namespace uhd::transport;

adapter_id_t adapter_ctx::register_adapter(adapter_info& info)
{
    std::lock_guard<std::mutex> lock(_mutex);
    auto key = info.to_string();
    if (_id_map.count(key) > 0) {
        return _id_map.at(key);
    } else {
        adapter_id_t id = _id_map.size() + 1;
        _id_map.emplace(std::make_pair(key, id));
        return id;
    }
}