summaryrefslogtreecommitdiffstats
path: root/ksim/systeminfo.h
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch)
tree8d927b7b47a90c4adb646482a52613f58acd6f8c /ksim/systeminfo.h
downloadtdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz
tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksim/systeminfo.h')
-rw-r--r--ksim/systeminfo.h137
1 files changed, 137 insertions, 0 deletions
diff --git a/ksim/systeminfo.h b/ksim/systeminfo.h
new file mode 100644
index 0000000..39f5a73
--- /dev/null
+++ b/ksim/systeminfo.h
@@ -0,0 +1,137 @@
+/* System Information
+ *
+ * Copyright (C) 2001 Robbie Ward <linuxphreak@gmx.co.uk>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef SYSTEMINFO_H
+#define SYSTEMINFO_H
+
+class System
+{
+ public:
+ /**
+ * converts bytes to megabytes
+ */
+ static int bytesToMegs( unsigned long );
+
+ /**
+ * @return a pointer to the instance
+ */
+ static System & self();
+ /**
+ * Deletes the instance and cleans up after itself
+ */
+ static void cleanup();
+
+ /**
+ * @return the total amount of seconds
+ * the pc has been running
+ */
+ long uptime() const { return m_uptime; }
+ /**
+ * @return the 3 load averages
+ */
+ const double * loadAverages() const { return m_loads; }
+ /**
+ * this function does the same as the
+ * above but returns only the @ref load
+ * average
+ */
+ double loadAverage( int ) const;
+ /**
+ * @return the total ram the system has
+ */
+ unsigned long totalRam() const { return m_totalram; }
+ /**
+ * @return the total used ram
+ */
+ unsigned long usedRam() const { return m_usedram; }
+ /**
+ * @return the total free ram the system has
+ */
+ unsigned long freeRam() const { return m_freeram; }
+ /**
+ * @return the amount of shared
+ * memory in the system
+ */
+ unsigned long sharedRam() const { return m_sharedram; }
+ /**
+ * @return the amount of buffered
+ * memory in the system
+ */
+ unsigned long bufferRam() const { return m_bufferram; }
+ /**
+ * @return the amount of buffered
+ * memory in the system
+ */
+ unsigned long cacheRam() const { return m_cacheram; }
+ /**
+ * @return the total amount of
+ * high memory
+ */
+ unsigned long totalHigh() const { return m_totalhigh; }
+ /**
+ * @return the total amount of
+ * high free memory
+ */
+ unsigned long freeHigh() const { return m_freehigh; }
+ /**
+ * @return the total amount of
+ * swap the system has
+ */
+ unsigned long totalSwap() const { return m_totalswap; }
+ /**
+ * @return the total amount of
+ * swap used
+ */
+ unsigned long usedSwap() const { return m_usedswap; }
+ /**
+ * @return the total amount of
+ * free swap the system has
+ */
+ unsigned long freeSwap() const { return m_freeswap; }
+ /**
+ * @return the number of
+ * procs running
+ */
+ unsigned short procs() const { return m_procs; }
+
+ private:
+ System();
+ System( const System & );
+ System & operator=( const System & );
+ ~System();
+
+ void updateData();
+
+ long m_uptime; // seconds since boot
+ double m_loads[3]; // 1, 5, and 15 minute load averages
+ unsigned long m_totalram; // Total usable main memory size
+ unsigned long m_usedram; // Used memory size
+ unsigned long m_freeram; // Available memory size
+ unsigned long m_sharedram; // Amount of shared memory
+ unsigned long m_bufferram; // Memory used by buffers
+ unsigned long m_cacheram; // Amount of cached ram
+ unsigned long m_totalhigh; // Total high memory size
+ unsigned long m_freehigh; // Available high memory size
+ unsigned long m_totalswap; // Total swap space size
+ unsigned long m_usedswap; // Used swap space size
+ unsigned long m_freeswap; // Swap space still available
+ unsigned short m_procs; // Number of current processes
+ static System * m_self;
+};
+#endif