1 #include <iostream> 2 #include <sstream> 3 4 #include "kateStreamParameter.h" 5 #include "log.h" 6 KateStreamParameter()7KateStreamParameter::KateStreamParameter() 8 { 9 } 10 ~KateStreamParameter()11KateStreamParameter::~KateStreamParameter() 12 { 13 } 14 operator ==(const StreamParameter & _param)15bool KateStreamParameter::operator==(const StreamParameter& _param) 16 { 17 StreamParameter* _param_unconst = const_cast<StreamParameter*>(&_param); 18 KateStreamParameter* param = dynamic_cast<KateStreamParameter*>(_param_unconst); 19 20 if (!param) 21 return(false); 22 23 if (granuleShift != param->granuleShift) { 24 logger.error() << "kate parameter compare: the granule shift is not matching\n"; 25 return(false); 26 } 27 28 if ((granulerateNum != param->granulerateNum) || 29 (granulerateDenom != param->granulerateDenom)) { 30 logger.error() << "kate parameter compare: granulerate does not match: " 31 << granulerateNum << "/" << param->granulerateDenom 32 << " != " << param->granulerateNum << "/" << param->granulerateDenom 33 << std::endl; 34 return(false); 35 } 36 37 if (language != param->language) { 38 logger.error() << "kate parameter compare: language does not match: " 39 << language << param->language 40 << std::endl; 41 return(false); 42 } 43 44 if (category != param->category) { 45 logger.error() << "kate parameter compare: category does not match: " 46 << category << param->category 47 << std::endl; 48 return(false); 49 } 50 51 return(true); 52 } 53 toString()54std::string KateStreamParameter::toString() 55 { 56 std::stringstream stream; 57 58 stream << std::endl; 59 stream << "Language : " << language << "\n"; 60 stream << "Category : " << category << "\n"; 61 stream << "Granulerate : " << granulerateNum/granulerateDenom << "\n"; 62 63 stream << std::endl; 64 65 return(stream.str()); 66 67 } 68 clone()69StreamParameter* KateStreamParameter::clone() 70 { 71 // create a clone 72 KateStreamParameter* streamParameter = new KateStreamParameter(); 73 74 // copy the original data to the clone 75 (*streamParameter) = (*this); 76 77 // return the clone 78 return(streamParameter); 79 80 } 81