001package com.pi4j.system; 002 003/* 004 * #%L 005 * ********************************************************************** 006 * ORGANIZATION : Pi4J 007 * PROJECT : Pi4J :: Java Library (Core) 008 * FILENAME : SystemInfoProvider.java 009 * 010 * This file is part of the Pi4J project. More information about 011 * this project can be found here: http://www.pi4j.com/ 012 * ********************************************************************** 013 * %% 014 * Copyright (C) 2012 - 2016 Pi4J 015 * %% 016 * This program is free software: you can redistribute it and/or modify 017 * it under the terms of the GNU Lesser General Public License as 018 * published by the Free Software Foundation, either version 3 of the 019 * License, or (at your option) any later version. 020 * 021 * This program is distributed in the hope that it will be useful, 022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 024 * GNU General Lesser Public License for more details. 025 * 026 * You should have received a copy of the GNU General Lesser Public 027 * License along with this program. If not, see 028 * <http://www.gnu.org/licenses/lgpl-3.0.html>. 029 * #L% 030 */ 031 032import java.io.IOException; 033import java.text.ParseException; 034import java.util.List; 035 036/** 037 * SystemInfo provider interface. Used to support multiple platforms where each may need to 038 * have a platform specific implementation of the system info. 039 */ 040public interface SystemInfoProvider { 041 String getProcessor() throws IOException, InterruptedException, UnsupportedOperationException; 042 String getModelName() throws IOException, InterruptedException, UnsupportedOperationException; 043 String getBogoMIPS() throws IOException, InterruptedException, UnsupportedOperationException; 044 String[] getCpuFeatures() throws IOException, InterruptedException, UnsupportedOperationException; 045 String getCpuImplementer() throws IOException, InterruptedException, UnsupportedOperationException; 046 String getCpuArchitecture() throws IOException, InterruptedException, UnsupportedOperationException; 047 String getCpuVariant() throws IOException, InterruptedException, UnsupportedOperationException; 048 String getCpuPart() throws IOException, InterruptedException, UnsupportedOperationException; 049 String getCpuRevision() throws IOException, InterruptedException, UnsupportedOperationException; 050 String getHardware() throws IOException, InterruptedException, UnsupportedOperationException; 051 String getRevision() throws IOException, InterruptedException, UnsupportedOperationException; 052 String getSerial() throws IOException, InterruptedException, UnsupportedOperationException; 053 String getOsName() throws UnsupportedOperationException; 054 String getOsVersion() throws UnsupportedOperationException; 055 String getOsArch() throws UnsupportedOperationException; 056 String getOsFirmwareBuild() throws IOException, InterruptedException, UnsupportedOperationException; 057 String getOsFirmwareDate() throws IOException, InterruptedException, ParseException, UnsupportedOperationException; 058 String getJavaVendor() throws UnsupportedOperationException; 059 String getJavaVendorUrl() throws UnsupportedOperationException; 060 String getJavaVersion() throws UnsupportedOperationException; 061 String getJavaVirtualMachine()throws UnsupportedOperationException; 062 String getJavaRuntime() throws UnsupportedOperationException; 063 boolean isHardFloatAbi() throws UnsupportedOperationException; 064 long getMemoryTotal() throws IOException, InterruptedException, UnsupportedOperationException; 065 long getMemoryUsed() throws IOException, InterruptedException, UnsupportedOperationException; 066 long getMemoryFree() throws IOException, InterruptedException, UnsupportedOperationException; 067 long getMemoryShared() throws IOException, InterruptedException, UnsupportedOperationException; 068 long getMemoryBuffers() throws IOException, InterruptedException, UnsupportedOperationException; 069 long getMemoryCached() throws IOException, InterruptedException, UnsupportedOperationException; 070 SystemInfo.BoardType getBoardType() throws IOException, InterruptedException, UnsupportedOperationException; 071 float getCpuTemperature() throws IOException, InterruptedException, NumberFormatException, UnsupportedOperationException; 072 float getCpuVoltage() throws IOException, InterruptedException, NumberFormatException, UnsupportedOperationException; 073 float getMemoryVoltageSDRam_C() throws IOException, InterruptedException, NumberFormatException, UnsupportedOperationException; 074 float getMemoryVoltageSDRam_I() throws IOException, InterruptedException, NumberFormatException, UnsupportedOperationException; 075 float getMemoryVoltageSDRam_P() throws IOException, InterruptedException, NumberFormatException, UnsupportedOperationException; 076 boolean getCodecH264Enabled() throws IOException, InterruptedException, UnsupportedOperationException; 077 boolean getCodecMPG2Enabled() throws IOException, InterruptedException, UnsupportedOperationException; 078 boolean getCodecWVC1Enabled() throws IOException, InterruptedException, UnsupportedOperationException; 079 long getClockFrequencyArm() throws IOException, InterruptedException, UnsupportedOperationException; 080 long getClockFrequencyCore() throws IOException, InterruptedException, UnsupportedOperationException; 081 long getClockFrequencyH264() throws IOException, InterruptedException, UnsupportedOperationException; 082 long getClockFrequencyISP() throws IOException, InterruptedException, UnsupportedOperationException; 083 long getClockFrequencyV3D() throws IOException, InterruptedException, UnsupportedOperationException; 084 long getClockFrequencyUART() throws IOException, InterruptedException, UnsupportedOperationException; 085 long getClockFrequencyPWM() throws IOException, InterruptedException, UnsupportedOperationException; 086 long getClockFrequencyEMMC() throws IOException, InterruptedException, UnsupportedOperationException; 087 long getClockFrequencyPixel() throws IOException, InterruptedException, UnsupportedOperationException; 088 long getClockFrequencyVEC() throws IOException, InterruptedException, UnsupportedOperationException; 089 long getClockFrequencyHDMI() throws IOException, InterruptedException, UnsupportedOperationException; 090 long getClockFrequencyDPI() throws IOException, InterruptedException, UnsupportedOperationException; 091}