PoDoFo 1.0.0-dev
Loading...
Searching...
No Matches
PdfXMPPacket.h
1
7#ifndef PDF_XMP_PACKET
8#define PDF_XMP_PACKET
9
10#include "PdfDeclarations.h"
11
12extern "C"
13{
14 typedef struct _xmlDoc xmlDoc;
15 typedef xmlDoc* xmlDocPtr;
16 typedef struct _xmlNode xmlNode;
17 typedef xmlNode* xmlNodePtr;
18}
19
20namespace PoDoFo
21{
22 class PODOFO_API PdfXMPPacket final
23 {
24 public:
25 PdfXMPPacket();
26 PdfXMPPacket(const PdfXMPPacket&) = delete;
27 ~PdfXMPPacket();
28
29 static std::unique_ptr<PdfXMPPacket> Create(const std::string_view& xmpview);
30
31 public:
32 void ToString(std::string& str) const;
33 std::string ToString() const;
34
35 public:
36 xmlDocPtr GetDoc() { return m_Doc; }
37 xmlNodePtr GetOrCreateDescription();
38 xmlNodePtr GetDescription() const { return m_Description; }
39
40 public:
41 PdfXMPPacket& operator=(const PdfXMPPacket&) = delete;
42
43 private:
44 PdfXMPPacket(xmlDocPtr doc, xmlNodePtr xmpmeta);
45
46 private:
47 xmlDocPtr m_Doc;
48 xmlNodePtr m_XMPMeta;
49 xmlNodePtr m_Description;
50 };
51}
52
53#endif // PDF_XMP_PACKET
SPDX-FileCopyrightText: (C) 2005 Dominik Seichter domseichter@web.de SPDX-FileCopyrightText: (C) 2020...
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition basetypes.h:16
@ Create
Create a new file or truncate existing one for writing/reading.