The Robot Application Programming Interface Delegate Project
|
00001 #ifndef rapid_ext_SystemInfoSample_idl 00002 #define rapid_ext_SystemInfoSample_idl 00003 00004 #include "BaseTypes.idl" 00005 #include "Message.idl" 00006 00007 module rapid 00008 { 00009 module ext 00010 { 00012 struct BatteryInfoSample 00013 { 00014 long acStatus; 00015 long batteryStatus; 00016 float percentage; 00017 }; 00019 typedef sequence<BatteryInfoSample> BatteryInfoSampleSequence; 00020 00023 struct CpuInfoSample 00024 { 00025 float busy; 00026 float idle; 00027 float nice; 00028 float system; 00029 float user; 00030 }; 00032 typedef sequence<CpuInfoSample> CpuInfoSampleSequence; 00033 00035 struct MemoryInfoSample 00036 { 00037 long buffers; 00038 long cached; 00039 long free; 00040 long swap; 00041 }; 00042 00045 struct ThermalInfoSample 00046 { 00048 float temperature; 00049 }; 00051 typedef sequence<ThermalInfoSample> ThermalInfoSampleSequence; 00052 00055 struct NetTrafficInfoSample 00056 { 00057 long rx; 00058 long tx; 00059 long rxErrors; 00060 long txErrors; 00061 }; 00063 typedef sequence<NetTrafficInfoSample> NetTrafficInfoSampleSequence; 00064 00070 struct WifiInfoSample 00071 { 00072 long linkQuality; 00073 long signalLevel; 00074 long noiseLevel; 00075 00078 float frequency; 00079 00082 float bitrate; 00083 }; 00085 typedef sequence<WifiInfoSample> WifiInfoSampleSequence; 00086 00091 valuetype SystemInfoSample : Message 00092 { 00093 00094 public BatteryInfoSampleSequence batteries; 00095 00096 public MemoryInfoSample memory; 00097 00098 public CpuInfoSampleSequence cpus; 00099 00100 public ThermalInfoSampleSequence temperatures; 00101 00102 public NetTrafficInfoSampleSequence netInterfaces; 00103 00104 public WifiInfoSampleSequence wifiInterfaces; 00105 }; 00106 }; 00107 }; 00108 00109 #endif // rapid_SSystemInfo_idl 00110