//
// Copyright (C) 2015 Google, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at:
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#pragma once
#include <stdint.h>
#include <string>
#include <vector>
namespace bluetooth {
// ScanResult represents a single Bluetooth LE device scan result. It
// encapsulates information about discovered LE devices.
class ScanResult {
public:
ScanResult(const std::string& device_address,
const std::vector<uint8_t> scan_record,
int rssi);
ScanResult() = default;
~ScanResult() = default;
// Returns the remote BD_ADDR associated with this scan result.
const std::string& device_address() const { return device_address_; }
// Returns the scan record (advertising +scan-response data) associated with
// this scan result.
const std::vector<uint8_t>& scan_record() const { return scan_record_; }
// Returns the RSSI associated with this scan result.
int rssi() const { return rssi_; }
// Comparison operator.
bool operator==(const ScanResult& rhs) const;
private:
std::string device_address_;
std::vector<uint8_t> scan_record_;
int rssi_;
};
} // namespace bluetooth