qmjsontype_qsize.cpp
Go to the documentation of this file.
1 //
2 // QtMark JSON Library
3 //
4 // Copyright (C) 2015 Assured Information Security, Inc.
5 // Author: Rian Quinn <quinnr@ainfosec.com>
6 // Author: Rodney Forbes <forbesr@ainfosec.com>
7 //
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Lesser General Public
10 // License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 
22 // ============================================================================
23 // Includes
24 // ============================================================================
25 
26 #include <qmjsontype_qsize.h>
27 
28 // ============================================================================
29 // QMJsonType<QSize> Implementation
30 // ============================================================================
31 
32 template <>
33 void QM_JSON_EXPORT QMJsonType<QSize>::toComplexJson(const QMPointer<QMJsonObject> &obj)
34 {
35  if(obj.isNull() == true)
36  return;
37 
38  obj->insert("qmjsontype", "QSize");
39  obj->insert("width", mValue.width());
40  obj->insert("height", mValue.height());
41 }
42 
43 template <>
44 QMPointer<QMJsonValue> QM_JSON_EXPORT QMJsonType<QSize>::fromComplexJson(const QMPointer<QMJsonObject> &obj)
45 {
46  auto size = QSize();
47 
48  if(obj.isNull() == true)
49  return QMPointer<QMJsonValue>(new QMJsonValue(size));
50 
51  size.setWidth(obj->value("width")->toDouble());
52  size.setHeight(obj->value("height")->toDouble());
53 
54  return QMPointer<QMJsonValue>(new QMJsonValue(size));
55 }
#define QM_JSON_EXPORT
Definition: qmjsontype.h:36
static QMPointer< QMJsonValue > fromComplexJson(const QMPointer< QMJsonObject > &obj)
virtual void toComplexJson(const QMPointer< QMJsonObject > &obj)
Definition: qmjsontype.h:207