record.cxx

来自「vovida的软交换」· CXX 代码 · 共 79 行

CXX
79
字号
#include "Record.hxx" // class's header file

#include "TestRecord.hxx" 
#include "UpdateRegInfoRec.hxx" 

#include <iostream>
#include <cstdlib>



// class constructor
Record::Record() {
    setRecordType(GENERIC_REC);
}

// class destructor
Record::~Record() {}

void Record::displayRecord(string prefix) {
  cout << prefix << ": Key:" << key << "\n"
       << prefix << ": TimeStame:" << ctime(&lastAccessed)
       << prefix << ": RecordType:" << stringRecordType(recordType) 
                 << " (" << recordType << ")" << "\n";
}


Record* Record::createNewRecord(RecordType rec) {
    switch (rec) { 

    case TEST_REC: 
	return new TestRecord;
	break;

    case UPDATE_REG_INFO_REC: 
	return new UpdateRegInfoRec;
	break;

    default:;

    }

    return NULL;
}

void Record::copyData(Record* rec) { 
  rec->setKey(key);
  rec->setLastAccessed(lastAccessed);  
}

const string Record::TEST_REC_STR("TEST_RECORD");
const string Record::GENERIC_REC_STR("GENERIC_RECORD");
const string Record::UPDATE_REG_INFO_REC_STR("UPDATE_REG_INFO_RECORD");

string Record::stringRecordType(RecordType rType) {

    switch (rType) { 

    case GENERIC_REC:
      return GENERIC_REC_STR; break;

    case TEST_REC: 
      return TEST_REC_STR; break;

    case UPDATE_REG_INFO_REC: 
      return UPDATE_REG_INFO_REC_STR; break;

    default:;

    }
    return "UNKNOWN RECORD";
}

RecordType Record::convertStrRType(string s) { 
  if (s.compare(TEST_REC_STR) == 0) return TEST_REC;
  if (s.compare(UPDATE_REG_INFO_REC_STR) == 0) return UPDATE_REG_INFO_REC;
  return GENERIC_REC;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?