00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _ots_Register_h_
00009 #define _ots_Register_h_
00010 #include <string>
00011
00012 namespace ots {
00013
00014 class Register {
00015 public:
00016 Register(std::string name);
00017 virtual ~Register();
00018
00019
00020 void setState (std::string state, std::pair<int, int > valueSequencePair);
00021 void fillRegisterInfo(std::string registerBaseAddress, int registerSize, std::string registerAccess);
00022 void setInitialize (std::pair< int, int> initialize );
00023 void setConfigure (std::pair< int, int> configure );
00024 void setStart (std::pair< int, int> start );
00025 void setHalt (std::pair< int, int> halt );
00026 void setPause (std::pair< int, int> pause );
00027 void setResume (std::pair< int, int> resume );
00028
00029
00030 std::string getName (void);
00031 std::string getBaseAddress (void);
00032 int getSize (void);
00033 std::string getAccess (void);
00034 std::pair< int, int> getInitialize (void);
00035 std::pair< int, int> getConfigure (void);
00036 std::pair< int, int> getStart (void);
00037 std::pair< int, int> getHalt (void);
00038 std::pair< int, int> getPause (void);
00039 std::pair< int, int> getResume (void);
00040
00041
00042 protected:
00043 std::string registerName_ ;
00044 std::string registerBaseAddress_ ;
00045 int registerSize_ ;
00046 std::string registerAccess_ ;
00047
00048
00049
00050 std::pair< int, int> initialize_ ;
00051 std::pair< int, int> configuration_ ;
00052 std::pair< int, int> start_ ;
00053 std::pair< int, int> halt_ ;
00054 std::pair< int, int> pause_ ;
00055 std::pair< int, int> resume_ ;
00056 };
00057
00058 }
00059
00060 #endif