. * * @package LibreNMS * @link https://www.librenms.org * @copyright 2020 Tony Murray * @author Tony Murray */ namespace LibreNMS\OS\Shared; use App\Models\Device; use Illuminate\Support\Str; class Printer extends \LibreNMS\OS { public function discoverOS(Device $device): void { parent::discoverOS($device); // yaml $device->serial = $device->serial ?? $this->getSerial() ?: null; } protected function getSerial() { return snmp_get($this->getDeviceArray(), 'prtGeneralSerialNumber.1', '-Oqv', 'Printer-MIB'); } protected function parseDeviceId($data) { $vars = []; foreach (explode(';', $data) as $pair) { if (! Str::contains($pair, ':')) { continue; } [$key, $value] = explode(':', $pair); $vars[trim($key)] = $value; } return $vars; } }