blob: 7b9aa72ffa918d0bb6dad3e0dd01099cc56e82bb [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_CONNECTIVITY_WLAN_DRIVERS_TESTING_LIB_SIM_ENV_SIM_STA_IFC_H_
#define SRC_CONNECTIVITY_WLAN_DRIVERS_TESTING_LIB_SIM_ENV_SIM_STA_IFC_H_
#include <net/ethernet.h>
#include <wlan/common/macaddr.h>
#include "sim-frame.h"
namespace wlan::simulation {
class SimFrame;
class SimManagementFrame;
struct WlanRxInfo;
class StationIfc {
public:
// Handler for different frames.
virtual void Rx(std::shared_ptr<const SimFrame> frame,
std::shared_ptr<const WlanRxInfo> info) = 0;
// Change station's receiver sensitivity
void setRxSensitivity(double rxSensitivity) { rx_sensitivity_ = rxSensitivity; }
// Get station's receiver sensitivity
double getRxSensitivity() { return rx_sensitivity_; }
// Default rx sensitivity of dBm
static constexpr double kDefaultRxSensitivity = -101;
// rx sensitivity of this stations receiver
double rx_sensitivity_ = kDefaultRxSensitivity;
};
} // namespace wlan::simulation
#endif // SRC_CONNECTIVITY_WLAN_DRIVERS_TESTING_LIB_SIM_ENV_SIM_STA_IFC_H_