1 #include <iostream>
2 #include <sstream>
3 
4 #include "kateStreamParameter.h"
5 #include "log.h"
6 
KateStreamParameter()7 KateStreamParameter::KateStreamParameter()
8 {
9 }
10 
~KateStreamParameter()11 KateStreamParameter::~KateStreamParameter()
12 {
13 }
14 
operator ==(const StreamParameter & _param)15 bool 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()54 std::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()69 StreamParameter* 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