From 48ff1677fecfcf485d2c09f86f49067a9e34d2b4 Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Fri, 21 Feb 2025 15:19:43 +0200 Subject: [PATCH] Header cleanup Signed-off-by: Raul Metsma --- cdoc/CDoc.cpp | 5 +++-- cdoc/CDoc1Reader.cpp | 15 ++++++++------- cdoc/CDoc1Writer.cpp | 11 ++++------- cdoc/CDoc2Reader.cpp | 23 +++++++++++++---------- cdoc/CDoc2Reader.h | 2 ++ cdoc/CDoc2Writer.cpp | 14 +++++++------- cdoc/CDoc2Writer.h | 2 ++ cdoc/CDocCipher.cpp | 12 +++++++----- cdoc/CDocCipher.h | 1 + cdoc/CDocReader.h | 16 +++++++++++----- cdoc/CDocWriter.h | 15 ++++++++++----- cdoc/Configuration.h | 14 +++++++++----- cdoc/CryptoBackend.h | 14 ++++++++------ cdoc/DDocReader.cpp | 10 ++++++---- cdoc/DDocReader.h | 11 ++++++++++- cdoc/DDocWriter.cpp | 2 +- cdoc/DDocWriter.h | 4 ++++ cdoc/Exports.h | 4 ++++ cdoc/Lock.h | 5 +++-- cdoc/NetworkBackend.h | 9 ++++----- cdoc/Utils.h | 1 - cdoc/XmlReader.cpp | 8 +++++--- cdoc/XmlReader.h | 11 +++++++++-- cdoc/XmlWriter.cpp | 5 +---- cdoc/XmlWriter.h | 14 +++++++++++--- libcdoc.i | 7 +++++-- 26 files changed, 148 insertions(+), 87 deletions(-) diff --git a/cdoc/CDoc.cpp b/cdoc/CDoc.cpp index 38634e8..bfaec84 100644 --- a/cdoc/CDoc.cpp +++ b/cdoc/CDoc.cpp @@ -20,9 +20,10 @@ #include "CDoc1Reader.h" #include "CDoc2Writer.h" #include "CDoc2Reader.h" +#include "Configuration.h" #include "ILogger.h" - -#include +#include "Io.h" +#include "NetworkBackend.h" namespace libcdoc { diff --git a/cdoc/CDoc1Reader.cpp b/cdoc/CDoc1Reader.cpp index e4dac2e..2e6af41 100644 --- a/cdoc/CDoc1Reader.cpp +++ b/cdoc/CDoc1Reader.cpp @@ -16,21 +16,22 @@ * */ -#include -#include - -#include - -#include "Certificate.h" +#include "CDoc1Reader.h" #include "CDoc.h" +#include "Certificate.h" #include "Crypto.h" +#include "CryptoBackend.h" #include "DDocReader.h" #include "ILogger.h" +#include "Lock.h" #include "XmlReader.h" #include "ZStream.h" -#include "CDoc1Reader.h" +#include + +#include +#include using namespace libcdoc; diff --git a/cdoc/CDoc1Writer.cpp b/cdoc/CDoc1Writer.cpp index 2d04207..12e2085 100644 --- a/cdoc/CDoc1Writer.cpp +++ b/cdoc/CDoc1Writer.cpp @@ -16,19 +16,16 @@ * */ +#include "CDoc1Writer.h" + #include "Crypto.h" #include "DDocWriter.h" +#include "ILogger.h" +#include "Recipient.h" #include "Utils.h" -#include "CDoc.h" #include "XmlWriter.h" -#include "CDoc1Writer.h" -#include "ILogger.h" #include "utils/memory.h" -#if defined(_WIN32) || defined(_WIN64) -#include -#endif - #define OPENSSL_SUPPRESS_DEPRECATED #include diff --git a/cdoc/CDoc2Reader.cpp b/cdoc/CDoc2Reader.cpp index b225a5f..0dc1b22 100644 --- a/cdoc/CDoc2Reader.cpp +++ b/cdoc/CDoc2Reader.cpp @@ -16,24 +16,27 @@ * */ -#include - -#define OPENSSL_SUPPRESS_DEPRECATED - -#include "openssl/evp.h" -#include +#include "CDoc2Reader.h" #include "Certificate.h" -#include "Crypto.h" +#include "Configuration.h" +#include "CryptoBackend.h" +#include "CDoc2.h" +#include "ILogger.h" +#include "Lock.h" +#include "NetworkBackend.h" #include "Tar.h" #include "Utils.h" #include "ZStream.h" -#include "CDoc2.h" -#include "ILogger.h" #include "header_generated.h" -#include "CDoc2Reader.h" +#define OPENSSL_SUPPRESS_DEPRECATED + +#include +#include + +#include // fixme: Placeholder #define t_(t) t diff --git a/cdoc/CDoc2Reader.h b/cdoc/CDoc2Reader.h index 03cc7fc..49d1c58 100644 --- a/cdoc/CDoc2Reader.h +++ b/cdoc/CDoc2Reader.h @@ -21,6 +21,8 @@ #include "CDocReader.h" +#include + class CDoc2Reader final: public libcdoc::CDocReader { public: ~CDoc2Reader() final; diff --git a/cdoc/CDoc2Writer.cpp b/cdoc/CDoc2Writer.cpp index e1d418f..d02d5ac 100644 --- a/cdoc/CDoc2Writer.cpp +++ b/cdoc/CDoc2Writer.cpp @@ -18,18 +18,18 @@ #include "CDoc2Writer.h" -#include "header_generated.h" - +#include "Configuration.h" #include "Crypto.h" +#include "CryptoBackend.h" #include "CDoc2.h" -#include "ZStream.h" +#include "ILogger.h" +#include "NetworkBackend.h" +#include "Recipient.h" #include "Tar.h" #include "Utils.h" -#include "ILogger.h" +#include "ZStream.h" -#if defined(_WIN32) || defined(_WIN64) -#include -#endif +#include "header_generated.h" #define OPENSSL_SUPPRESS_DEPRECATED diff --git a/cdoc/CDoc2Writer.h b/cdoc/CDoc2Writer.h index c5a3b8c..22020a6 100644 --- a/cdoc/CDoc2Writer.h +++ b/cdoc/CDoc2Writer.h @@ -21,6 +21,8 @@ #include "CDocWriter.h" +#include + class CDoc2Writer final: public libcdoc::CDocWriter { public: explicit CDoc2Writer(libcdoc::DataConsumer *dst, bool take_ownership); diff --git a/cdoc/CDocCipher.cpp b/cdoc/CDocCipher.cpp index 02d7f31..4e7e2ee 100644 --- a/cdoc/CDocCipher.cpp +++ b/cdoc/CDocCipher.cpp @@ -16,22 +16,24 @@ * */ -#include -#include -#include - #include "CDocCipher.h" #include "CDocReader.h" -#include "CDoc.h" #include "CDoc2.h" #include "Certificate.h" #include "ILogger.h" +#include "Lock.h" +#include "NetworkBackend.h" #include "PKCS11Backend.h" +#include "Recipient.h" #include "Utils.h" #ifdef _WIN32 #include "WinBackend.h" #endif +#include +#include +#include + using namespace std; using namespace libcdoc; diff --git a/cdoc/CDocCipher.h b/cdoc/CDocCipher.h index 8477edd..5cf9e18 100644 --- a/cdoc/CDocCipher.h +++ b/cdoc/CDocCipher.h @@ -25,6 +25,7 @@ #include "ToolConf.h" #include +#include namespace libcdoc { diff --git a/cdoc/CDocReader.h b/cdoc/CDocReader.h index 2791dcd..c1b8c15 100644 --- a/cdoc/CDocReader.h +++ b/cdoc/CDocReader.h @@ -18,14 +18,20 @@ #ifndef __CDOCREADER_H__ #define __CDOCREADER_H__ - -#include -#include -#include -#include + +#include "CDoc.h" + +#include namespace libcdoc { +struct Configuration; +struct CryptoBackend; +struct DataSource; +struct Lock; +struct MultiDataConsumer; +struct NetworkBackend; + /** * @brief Provides decryption interface * diff --git a/cdoc/CDocWriter.h b/cdoc/CDocWriter.h index 41f4a08..a259548 100644 --- a/cdoc/CDocWriter.h +++ b/cdoc/CDocWriter.h @@ -18,13 +18,18 @@ #ifndef __CDOCWRITER_H__ #define __CDOCWRITER_H__ - -#include -#include -#include -#include + +#include "CDoc.h" + +#include namespace libcdoc { + struct Configuration; + struct CryptoBackend; + struct DataConsumer; + struct MultiDataSource; + struct NetworkBackend; + struct Recipient; /** * @brief Provides encryption interface diff --git a/cdoc/Configuration.h b/cdoc/Configuration.h index 14013dd..55cd624 100644 --- a/cdoc/Configuration.h +++ b/cdoc/Configuration.h @@ -19,9 +19,13 @@ #ifndef __CONFIGURATION_H__ #define __CONFIGURATION_H__ -#include +#include "Exports.h" + +#include +#include #include + namespace libcdoc { /** @@ -40,7 +44,10 @@ struct CDOC_EXPORT Configuration { static constexpr char const *KEYSERVER_FETCH_URL = "KEYSERVER_FETCH_URL"; Configuration() = default; - virtual ~Configuration() = default; + virtual ~Configuration() noexcept = default; + Configuration(const Configuration&) = delete; + Configuration& operator=(const Configuration&) = delete; + CDOC_ENABLE_MOVE(Configuration); /** * @brief get a value of configuration parameter @@ -73,9 +80,6 @@ struct CDOC_EXPORT Configuration { */ int getInt(const std::string_view& param, int def_val = 0); - Configuration (const Configuration&) = delete; - Configuration& operator= (const Configuration&) = delete; - #if LIBCDOC_TESTING virtual int64_t test(std::vector& dst); #endif diff --git a/cdoc/CryptoBackend.h b/cdoc/CryptoBackend.h index 3a088c6..7fc1b82 100644 --- a/cdoc/CryptoBackend.h +++ b/cdoc/CryptoBackend.h @@ -20,10 +20,12 @@ #define __CRYPTOBACKEND_H__ #include -#include + +#include namespace libcdoc { +struct Lock; /** * @brief An authentication provider * @@ -50,8 +52,11 @@ struct CDOC_EXPORT CryptoBackend { SHA_512 }; - CryptoBackend() = default; - virtual ~CryptoBackend() = default; + CryptoBackend() = default; + virtual ~CryptoBackend() noexcept = default; + CryptoBackend(const CryptoBackend&) = delete; + CryptoBackend& operator=(const CryptoBackend&) = delete; + CDOC_ENABLE_MOVE(CryptoBackend); virtual std::string getLastErrorStr(int code) const; @@ -160,9 +165,6 @@ struct CDOC_EXPORT CryptoBackend { } virtual int test(libcdoc::Lock& lock) { return NOT_IMPLEMENTED; } - - CryptoBackend (const CryptoBackend&) = delete; - CryptoBackend& operator= (const CryptoBackend&) = delete; }; } // namespace libcdoc diff --git a/cdoc/DDocReader.cpp b/cdoc/DDocReader.cpp index 2afe77f..eb6f9de 100644 --- a/cdoc/DDocReader.cpp +++ b/cdoc/DDocReader.cpp @@ -18,9 +18,11 @@ #include "DDocReader.h" #include "CDoc.h" - +#include "Io.h" #include "XmlReader.h" +using namespace libcdoc; + int DDOCReader::parse(libcdoc::DataSource *src, libcdoc::MultiDataConsumer *dst) { @@ -41,10 +43,10 @@ DDOCReader::parse(libcdoc::DataSource *src, libcdoc::MultiDataConsumer *dst) return (dst->isError()) ? libcdoc::IO_ERROR : libcdoc::OK; } -struct FileListConsumer : public libcdoc::MultiDataConsumer { +struct DDocFileListConsumer : public libcdoc::MultiDataConsumer { std::vector files; - explicit FileListConsumer() = default; + explicit DDocFileListConsumer() = default; int64_t write(const uint8_t *src, size_t size) override final { DDOCReader::File& file = files.back(); file.data.insert(file.data.end(), src, src + size); @@ -62,7 +64,7 @@ std::vector DDOCReader::files(const std::vector &data) { libcdoc::VectorSource src(data); - FileListConsumer list; + DDocFileListConsumer list; parse(&src, &list); return std::move(list.files); } diff --git a/cdoc/DDocReader.h b/cdoc/DDocReader.h index 6613c8f..9bed7ce 100644 --- a/cdoc/DDocReader.h +++ b/cdoc/DDocReader.h @@ -18,7 +18,14 @@ #pragma once -#include "Io.h" +#include +#include +#include + +namespace libcdoc { + +struct DataSource; +struct MultiDataConsumer; class DDOCReader { @@ -32,3 +39,5 @@ class DDOCReader static std::vector files(const std::vector &data); }; + +} // namespace libcdoc \ No newline at end of file diff --git a/cdoc/DDocWriter.cpp b/cdoc/DDocWriter.cpp index d1b7646..e2026f2 100644 --- a/cdoc/DDocWriter.cpp +++ b/cdoc/DDocWriter.cpp @@ -18,7 +18,7 @@ #include "DDocWriter.h" -#include "XmlWriter.h" +using namespace libcdoc; /** * @class DDOCWriter diff --git a/cdoc/DDocWriter.h b/cdoc/DDocWriter.h index 3defd55..89e314e 100644 --- a/cdoc/DDocWriter.h +++ b/cdoc/DDocWriter.h @@ -20,6 +20,8 @@ #include "XmlWriter.h" +namespace libcdoc { + class DDOCWriter: public XMLWriter { public: @@ -36,3 +38,5 @@ class DDOCWriter: public XMLWriter struct Private; Private *d; }; + +} \ No newline at end of file diff --git a/cdoc/Exports.h b/cdoc/Exports.h index f431f45..3bb9e8f 100644 --- a/cdoc/Exports.h +++ b/cdoc/Exports.h @@ -55,4 +55,8 @@ #define STDCALL #endif +#define CDOC_ENABLE_MOVE(Class) \ + Class(Class&&) noexcept = default; \ + Class& operator=(Class&&) noexcept = default; + #endif // EXPOORTS_H diff --git a/cdoc/Lock.h b/cdoc/Lock.h index 5a87c13..27bb7cf 100644 --- a/cdoc/Lock.h +++ b/cdoc/Lock.h @@ -250,13 +250,14 @@ struct CDOC_EXPORT Lock */ void setInt(Params param, int32_t val); - bool operator== (const Lock& other) const = default; - /** * @brief A convenience method to initialize CERTIFICATE, RCPT_KEY and PK_TYPE values from given certificate * @param cert the certificate (der-encoded) */ void setCertificate(const std::vector& cert); + + bool operator== (const Lock& other) const = default; + private: std::map> params; }; diff --git a/cdoc/NetworkBackend.h b/cdoc/NetworkBackend.h index 9351928..0680ccf 100644 --- a/cdoc/NetworkBackend.h +++ b/cdoc/NetworkBackend.h @@ -20,7 +20,6 @@ #define __NETWORKBACKEND_H__ #include -#include namespace libcdoc { @@ -36,7 +35,10 @@ struct CDOC_EXPORT NetworkBackend { }; NetworkBackend() = default; - virtual ~NetworkBackend() = default; + virtual ~NetworkBackend() noexcept = default; + NetworkBackend(const NetworkBackend&) = delete; + NetworkBackend& operator=(const NetworkBackend&) = delete; + CDOC_ENABLE_MOVE(NetworkBackend); virtual std::string getLastErrorStr(int code) const; @@ -95,9 +97,6 @@ struct CDOC_EXPORT NetworkBackend { #if LIBCDOC_TESTING virtual int64_t test(std::vector> &dst); #endif - - NetworkBackend (const NetworkBackend&) = delete; - NetworkBackend& operator= (const NetworkBackend&) = delete; }; } // namespace libcdoc diff --git a/cdoc/Utils.h b/cdoc/Utils.h index c9716f5..3c84332 100644 --- a/cdoc/Utils.h +++ b/cdoc/Utils.h @@ -19,7 +19,6 @@ #ifndef __LIBCDOC_UTILS_H__ #define __LIBCDOC_UTILS_H__ -#include "CDoc.h" #include "Io.h" #include diff --git a/cdoc/XmlReader.cpp b/cdoc/XmlReader.cpp index 17f54e8..5a82f4c 100644 --- a/cdoc/XmlReader.cpp +++ b/cdoc/XmlReader.cpp @@ -16,13 +16,15 @@ * */ -#include +#include "XmlReader.h" #include "Crypto.h" +#include "Io.h" -#include "XmlReader.h" +#include + +using namespace libcdoc; -typedef xmlChar *pxmlChar; typedef const xmlChar *pcxmlChar; struct XMLReader::Private diff --git a/cdoc/XmlReader.h b/cdoc/XmlReader.h index 56c967a..1742326 100644 --- a/cdoc/XmlReader.h +++ b/cdoc/XmlReader.h @@ -18,9 +18,14 @@ #pragma once -#include "Io.h" - +#include #include +#include +#include + +namespace libcdoc { + +struct DataSource; class XMLReader { @@ -42,3 +47,5 @@ class XMLReader struct Private; Private *d; }; + +} // namespace libcdoc \ No newline at end of file diff --git a/cdoc/XmlWriter.cpp b/cdoc/XmlWriter.cpp index eb77061..35e5246 100644 --- a/cdoc/XmlWriter.cpp +++ b/cdoc/XmlWriter.cpp @@ -16,8 +16,6 @@ * */ -#include - #include "XmlWriter.h" #include "Crypto.h" @@ -25,9 +23,8 @@ #include -#include +using namespace libcdoc; -typedef xmlChar *pxmlChar; typedef const xmlChar *pcxmlChar; struct XMLWriter::Private diff --git a/cdoc/XmlWriter.h b/cdoc/XmlWriter.h index 5149a5f..78eb1f7 100644 --- a/cdoc/XmlWriter.h +++ b/cdoc/XmlWriter.h @@ -18,10 +18,16 @@ #pragma once -#include "Io.h" - +#include #include #include +#include +#include +#include + +namespace libcdoc { + +struct DataConsumer; class XMLWriter { @@ -31,7 +37,7 @@ class XMLWriter XMLWriter(std::ostream *ofs); XMLWriter(const std::string& path); XMLWriter(std::vector& vec); - XMLWriter(libcdoc::DataConsumer *dst); + XMLWriter(DataConsumer *dst); virtual ~XMLWriter(); virtual void close(); @@ -46,3 +52,5 @@ class XMLWriter struct Private; Private *d; }; + +} // namespace libcdoc \ No newline at end of file diff --git a/libcdoc.i b/libcdoc.i index 475cc85..f01225d 100644 --- a/libcdoc.i +++ b/libcdoc.i @@ -23,10 +23,12 @@ #include "CDoc.h" #include "Io.h" #include "Configuration.h" -#include "Lock.h" #include "CDocWriter.h" #include "CDocReader.h" +#include "Lock.h" +#include "NetworkBackend.h" #include "PKCS11Backend.h" +#include "Recipient.h" #include "Utils.h" #include "Wrapper.h" #include @@ -534,12 +536,13 @@ #define CDOC_EXPORT // fixme: Remove this in production #define LIBCDOC_TESTING 1 +#define CDOC_ENABLE_MOVE(X) %include "CDoc.h" %include "Wrapper.h" %include "Io.h" %include "Recipient.h" - %include "Lock.h" +%include "Lock.h" %include "Configuration.h" %include "CryptoBackend.h" %include "NetworkBackend.h"