Advertisement
stuppid_bot

Untitled

Mar 10th, 2016
366
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.06 KB | None | 0 0
  1. class Headers {
  2.   protected:
  3.     QVariantMap headers;
  4.  
  5.     QString normalize(const QString & header) {
  6.       QStringList parts = header.toLower().split("-");
  7.       for (int i = 0; i < parts.size(); ++i) {
  8.         QString part = parts[0];
  9.         if (part.length()) {
  10.           parts[i] = part[0].toUpper() + part.mid(1);
  11.         }
  12.       }
  13.       return parts.join("-");
  14.     }
  15.  
  16.   public:
  17.     Headers(const QVariantMap & headers = QVariantMap()) {
  18.       foreach (QString header, headers.keys()) {
  19.         this->set(this->normalize(header), headers[header]);
  20.       }
  21.     }
  22.  
  23.     void set(const QString & header, const QVariant & value) {
  24.       this->headers[this->normalize(header)] = value;
  25.     }
  26.  
  27.     QVariant get(QString header) {
  28.       header = this->normalize(header);
  29.       return this->headers.contains(header) ? this->headers[header] : 0;
  30.     }
  31.  
  32.     QVariant operator[](const QString & header){
  33.       return this->get(header);
  34.     }
  35.  
  36.     QList<QString> keys() {
  37.       // Вернет копию?
  38.       return this->headers.keys();
  39.     }
  40. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement