PCMCPU.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00027
00028 #ifndef __PCM_CPU_H__
00029 # define __PCM_CPU_H__
00030
00031
00032
00033
00034
00035 # include "PCMPremeditations.h"
00036
00037 # include "PCMOutputNode.h"
00038
00039 # include "PCMPointer.h"
00040
00041 # include "PCMOutputNode.h"
00042
00043 # include "PCMFileSystemManager.h"
00044
00045
00046
00047
00048
00049 # include <string>
00050
00051 # include <tinyxml/tinyxml.h>
00052
00053 namespace ParCompMark
00054 {
00055
00060 class CPU:public OutputNode
00061 {
00062
00063
00064
00065
00066 # ifdef PARCOMPMARK_TEST
00067 friend class ParCompMarkTest::TestCPU;
00068 # endif
00069
00070
00071
00072
00073
00074 public:
00075
00077 typedef ParCompMark::Pointer < CPU,
00078 Mutex > Pointer;
00079
00080
00081
00082
00083
00085
00086
00087 protected:
00088
00094 std::string mVendor;
00095
00101 std::string mModel;
00102
00108 Real mClock;
00109
00115 u32 mCache;
00116
00123 Real mBogomips;
00124
00130 std::string mFlags;
00131
00133
00134
00135
00136
00137
00139
00140
00141 public:
00142
00148 CPU(const std::string & name, const OutputNode::NodeType & type);
00149
00153 virtual ~ CPU();
00154
00156
00157
00158
00159
00160
00162
00163
00164 public:
00165
00171 const std::string & getVendor() const;
00172
00178 void setVendor(const std::string & vendor);
00179
00185 const std::string & getModel() const;
00186
00192 void setModel(const std::string & model);
00193
00199 const Real & getClock() const;
00200
00206 void setClock(const Real & clock);
00207
00213 const u32 & getCache() const;
00214
00220 void setCache(const u32 & cache);
00221
00227 const Real & getBogomips() const;
00228
00234 void setBogomips(const Real & bogomips);
00235
00241 const std::string & getFlags() const;
00242
00248 void setFlags(const std::string & flags);
00249
00251
00252
00253
00254
00255
00257
00258
00259 public:
00260
00266 static CPU::Pointer parseXML(TiXmlElement * &tiCPU);
00267
00269
00270
00271
00272
00273
00275
00276
00277 public:
00278
00282 virtual void refreshData();
00283
00285
00286 };
00287
00288
00289
00290
00291
00292 # include "PCMCPU_impl.h"
00293
00294 }
00295
00296 #endif