KPkPass

barcode.cpp
1 /*
2  SPDX-FileCopyrightText: 2018 Volker Krause <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "barcode.h"
8 #include "pass.h"
9 #include "pass_p.h"
10 
11 #include <QJsonObject>
12 
13 using namespace KPkPass;
14 
15 namespace KPkPass
16 {
17 class BarcodePrivate
18 {
19 public:
20  const Pass *pass = nullptr;
21  QJsonObject obj;
22 };
23 }
24 
25 Barcode::Barcode()
26  : d(new BarcodePrivate)
27 {
28 }
29 
30 Barcode::Barcode(const QJsonObject &obj, const Pass *pass)
31  : d(new BarcodePrivate)
32 {
33  d->pass = pass;
34  d->obj = obj;
35 }
36 
37 Barcode::~Barcode() = default;
38 
39 QString Barcode::alternativeText() const
40 {
41  if (d->pass) {
42  return d->pass->d->message(d->obj.value(QLatin1String("altText")).toString());
43  }
44  return {};
45 }
46 
47 Barcode::Format KPkPass::Barcode::format() const
48 {
49  const auto format = d->obj.value(QLatin1String("format")).toString();
50  if (format == QLatin1String("PKBarcodeFormatQR")) {
51  return QR;
52  } else if (format == QLatin1String("PKBarcodeFormatPDF417")) {
53  return PDF417;
54  } else if (format == QLatin1String("PKBarcodeFormatAztec")) {
55  return Aztec;
56  } else if (format == QLatin1String("PKBarcodeFormatCode128")) {
57  return Code128;
58  }
59  return Invalid;
60 }
61 
62 QString Barcode::message() const
63 {
64  return d->obj.value(QLatin1String("message")).toString();
65 }
66 
67 QString Barcode::messageEncoding() const
68 {
69  return d->obj.value(QLatin1String("messageEncoding")).toString();
70 }
71 
72 #include "moc_barcode.cpp"
Base class for a pkpass file.
Definition: pass.h:34
char * toString(const EngineQuery &query)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Sat Sep 30 2023 03:55:45 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.