Air-Quality-Web/logic/Repositories/IDeviceRepository.php

35 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);
}