Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_INPUTOUTPUT_OSINFORMATOR_H__
00009 #define __SP_INPUTOUTPUT_OSINFORMATOR_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013 #include "Base/spInputOutputString.hpp"
00014
00015
00016 namespace sp
00017 {
00018 namespace io
00019 {
00020
00021
00023 enum EMemorySizeTypes
00024 {
00025 MEMORYSIZE_BYTE = 0,
00026 MEMORYSIZE_KB,
00027 MEMORYSIZE_MB,
00028 MEMORYSIZE_GB,
00029 MEMORYSIZE_TB,
00030 };
00031
00032
00033 class SP_EXPORT OSInformator
00034 {
00035
00036 public:
00037
00038 OSInformator();
00039 ~OSInformator();
00040
00041
00042
00044 stringc getCompilerVersion() const;
00045
00051 stringc getCompilationInfo() const;
00052
00053 bool setClipboardText(const stringc &Text);
00054 stringc getClipboardText() const;
00055
00057 u32 getProcessorSpeed() const;
00059 u32 getProcessorCount() const;
00060
00062 void getDiskSpace(const stringc &PartitionName, u32 &Total, u32 &Free) const;
00069 void getVirtualMemory(u64 &Total, u64 &Free, const EMemorySizeTypes SizeType = MEMORYSIZE_MB) const;
00070
00071
00072
00074 inline const stringc& getOSVersion() const
00075 {
00076 return OSVersion_;
00077 }
00078
00079 private:
00080
00081
00082
00083 stringc allocOSVersion();
00084
00085
00086
00087 stringc OSVersion_;
00088
00089 };
00090
00091
00092 }
00093
00094 }
00095
00096
00097 #endif
00098
00099
00100
00101
00102
00103
00104
00105
00106