| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- /*
- * Base.h
- *
- * Created on: 2016年11月15日
- * Author: nego
- */
-
- #ifndef SERVICEMODEL_BASE_H_
- #define SERVICEMODEL_BASE_H_
-
- #include <map>
- #include <string>
- #include <utility>
-
- #include "../common/Type.h"
-
- class Base {
- public:
-
- enum QUALITY {
- GOOD = 0, BAD
- };
- enum RUNSTATE {
- IDLEE = 0, TIMING, TIMEOUT, FAULT
- };
-
- Base() :
- m_rwstate(-1), m_priority(-1), m_readcount(0), m_readbackcount(0), m_writecount(
- 0), m_writebackcount(0), m_quality(GOOD), m_runstate(TIMING),
- m_rdatimeoutcount(0),m_rreadretrycount(0),m_rwriteretrycount(0),
- m_rfaultcount(0){
- xLock = PTHREAD_MUTEX_INITIALIZER;
- }
- virtual ~Base() {
- }
-
- const std::string& getName() const {
- return m_name;
- }
-
- void setName(const std::string& name) {
- if(!name.empty()){
- this->m_name = name;
- }
- }
-
- OBJID& getObjid() {
- return m_objid;
- }
-
- void setObjid(const OBJID& objid) {
- this->m_objid = objid;
- }
-
- std::map<std::string, std::string>& getParams() {
- return m_mparams;
- }
-
- void setParams(const std::map<std::string, std::string>& params) {
- this->m_mparams = params;
- }
-
- HRESULT setParam(const std::string key, const std::string value) {
- getParams().insert(make_pair(key, value));
- return S_OK;
- }
-
- std::string getParam(const std::string key) {
- std::map<std::string, std::string>& m = getParams();
- if (m.count(key) > 0) {
- std::string value = m.find(key)->second;
- return value;
- }
- return "";
- }
-
- int getPriority() const {
- return m_priority;
- }
-
- void setPriority(int priority) {
- this->m_priority = priority;
- }
-
- int getRwstate() const {
- return m_rwstate;
- }
-
- void setRwstate(int rwstate) {
- this->m_rwstate = rwstate;
- }
-
- QUALITY getQuality() const {
- return m_quality;
- }
-
- void setQuality(QUALITY quality) {
- this->m_quality = quality;
- }
-
- unsigned int getReadcount() const {
- return m_readcount;
- }
-
- void setReadcount(unsigned int readcount) {
- this->m_readcount = readcount;
- }
-
- void addReadcount() {
- ++this->m_readcount;
- }
-
- unsigned int getWritecount() const {
- return m_writecount;
- }
-
- void setWritecount(unsigned int writecount) {
- this->m_writecount = writecount;
- }
-
- void addWritecount() {
- ++this->m_writecount;
- }
-
- unsigned int getReadbackcount() const {
- return m_readbackcount;
- }
-
- void setReadbackcount(unsigned int readbackcount) {
- this->m_readbackcount = readbackcount;
- }
-
- void addReadbackcount() {
- ++this->m_readbackcount;
- }
-
- unsigned int getWritebackcount() const {
- return m_writebackcount;
- }
-
- void setWritebackcount(unsigned int writebackcount) {
- this->m_writebackcount = writebackcount;
- }
-
- void addWritebackcount() {
- ++this->m_writebackcount;
- }
-
- RUNSTATE getRunstate() const {
- return m_runstate;
- }
-
- void setRunstate(RUNSTATE runstate) {
- (void) pthread_mutex_lock(&xLock);
- this->m_runstate = runstate;
- (void) pthread_mutex_unlock(&xLock);
- }
-
- int getRdatimeoutcount() const {
- return m_rdatimeoutcount;
- }
-
- void setRdatimeoutcount(int rdatimeoutcount) {
- m_rdatimeoutcount = rdatimeoutcount;
- }
-
- void addRdatimeoutcount(int rdatimeoutcount) {
- m_rdatimeoutcount += rdatimeoutcount;
- }
-
- void resetRdatimeoutcount() {
- m_rdatimeoutcount = 0;
- }
-
- int getRfaultcount() const {
- return m_rfaultcount;
- }
-
- void setRfaultcount(int rfaultcount) {
- m_rfaultcount = rfaultcount;
- }
-
- void addRfaultcount(int rfaultcount) {
- m_rfaultcount += rfaultcount;
- }
-
- void resetRfaultcount() {
- m_rfaultcount = 0;
- }
-
- int getRreadretrycount() const {
- return m_rreadretrycount;
- }
-
- void setRreadretrycount(int rreadretrycount) {
- m_rreadretrycount = rreadretrycount;
- }
-
- void addRreadretrycount(int rreadretrycount) {
- m_rreadretrycount += rreadretrycount;
- }
-
- void resetRreadretrycount() {
- m_rreadretrycount = 0;
- }
-
- int getRwriteretrycount() const {
- return m_rwriteretrycount;
- }
-
- void setRwriteretrycount(int rwriteretrycount) {
- m_rwriteretrycount = rwriteretrycount;
- }
-
- void addRwriteretrycount(int rwriteretrycount) {
- m_rwriteretrycount += rwriteretrycount;
- }
-
- void resetRwriteretrycount() {
- m_rwriteretrycount = 0;
- }
-
- private:
- OBJID m_objid;
- std::string m_name;
- std::map<std::string, std::string> m_mparams;
- int m_rwstate; //----读写状态
- int m_priority; //----优先级状态
-
- /**
- * 以下数据用于性能监视
- */
- unsigned int m_readcount; //----读计数
- unsigned int m_readbackcount; //----读回复计数
- unsigned int m_writecount; //----写计数
- unsigned int m_writebackcount; //----写回复计数
- QUALITY m_quality; //----采集质量
- RUNSTATE m_runstate; //----采集状态,处于空闲、采集、超时、故障等状态
-
- int m_rdatimeoutcount; //----采集超时计数
- int m_rreadretrycount; //----读重试计数
- int m_rwriteretrycount; //----写重试计数
- int m_rfaultcount; //----采集故障计数
-
- pthread_mutex_t xLock;
- };
- #endif /* SERVICEMODEL_BASE_H_ */
|