Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Headers {
- protected:
- QVariantMap headers;
- QString normalize(const QString & header) {
- QStringList parts = header.toLower().split("-");
- for (int i = 0; i < parts.size(); ++i) {
- QString part = parts[0];
- if (part.length()) {
- parts[i] = part[0].toUpper() + part.mid(1);
- }
- }
- return parts.join("-");
- }
- public:
- Headers(const QVariantMap & headers = QVariantMap()) {
- foreach (QString header, headers.keys()) {
- this->set(this->normalize(header), headers[header]);
- }
- }
- void set(const QString & header, const QVariant & value) {
- this->headers[this->normalize(header)] = value;
- }
- QVariant get(QString header) {
- header = this->normalize(header);
- return this->headers.contains(header) ? this->headers[header] : 0;
- }
- QVariant operator[](const QString & header){
- return this->get(header);
- }
- QList<QString> keys() {
- // Вернет копию?
- return this->headers.keys();
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement