mirror of
https://github.com/ConnectedHumber/Air-Quality-Web
synced 2024-12-25 10:55:01 +00:00
34 lines
1.3 KiB
PHP
34 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace AirQuality\Repositories;
|
|
|
|
/**
|
|
* Defines the interface of repositories that fetch device information.
|
|
*/
|
|
interface IDeviceRepository {
|
|
/**
|
|
* Returns an array of all the devices in the system with basic information
|
|
* about each.
|
|
* @param bool $only_with_location Whether only devices with a defined location should be returned.
|
|
* @return array A list of devices and their basic information.
|
|
*/
|
|
public function get_all_devices($only_with_location);
|
|
|
|
/**
|
|
* Gets a bunch of information about a device.
|
|
* This method returns _considerably_ more information than the above one
|
|
* that lists a bunch of devices, but only works for 1 device at a time.
|
|
* @param int $device_id The id of the device to get information for.
|
|
* @return array The extended information available on the given device.
|
|
*/
|
|
public function get_device_info_ext($device_id);
|
|
|
|
/**
|
|
* Gets a list of devices that are near the specified location.
|
|
* @param float $lat The latitude of the location to get devices near.
|
|
* @param float $long The longitude of the location to get devices near.
|
|
* @param int $count The number of nearby devices to return.
|
|
* @return array An array of nearby devices.
|
|
*/
|
|
public function get_near_location(float $lat, float $long, int $count);
|
|
}
|