diff --git a/src/CopyrighFixer/CopyrighFixer/ifilemanager.cpp b/src/CopyrighFixer/CopyrighFixer/ifilemanager.cpp new file mode 100644 index 0000000..e73d2a6 --- /dev/null +++ b/src/CopyrighFixer/CopyrighFixer/ifilemanager.cpp @@ -0,0 +1,17 @@ +//# +//# Copyright (C) 2021-2021 QuasarApp. +//# Distributed under the lgplv3 software license, see the accompanying +//# Everyone is permitted to copy and distribute verbatim copies +//# of this license document, but changing it is not allowed. +//# + +#include "ifilemanager.h" + + +namespace CopyrighFixer { + +IFileManager::~IFileManager() { + +} + +}; diff --git a/src/CopyrighFixer/CopyrighFixer/ifilemanager.h b/src/CopyrighFixer/CopyrighFixer/ifilemanager.h new file mode 100644 index 0000000..e169a30 --- /dev/null +++ b/src/CopyrighFixer/CopyrighFixer/ifilemanager.h @@ -0,0 +1,71 @@ +//# +//# Copyright (C) 2021-2021 QuasarApp. +//# Distributed under the lgplv3 software license, see the accompanying +//# Everyone is permitted to copy and distribute verbatim copies +//# of this license document, but changing it is not allowed. +//# + +#ifndef IFILEHANDLER_H +#define IFILEHANDLER_H + +#include "CopyrighFixer_global.h" +#include "CopyrighFixer/sign.h" + + +namespace CopyrighFixer { + +/** + * @brief The Extensinon enum File extensions for signature. + * @param CPP The CPP file is a source code file written in C++. + * @param HPP The header file containing the development source code written in C ++. + * @param H The used for the header of the file, which is referenced by the source code of the document written in C ++. + * @param CC The CC file is a source code file written in C++. + * @param QML The Contains JavaScript-based QML source code encoded in UTF-8 format. + * @param PRO The PRO files include references to project libraries, assets and source code files, and other files such as application resources. + * @param TXT The source code is written in the txt file in CMake language. + * @param Py The py file contains the source code in python. + */ +enum Extensinon { + CPP, + HPP, + H, + CC, + QML, + PRO, + TXT, + PY, +}; + +/** + * @brief The IFileHandler class This is class that handles the source files that need to be signed. + */ +class CopyrighFixer_EXPORT IFileManager { +public: + + /** + * @brief read This is method be read a copyright singnature from a source file. + * @param pathToFile The source file path. + * @param objSign The object signature. + * @return Returns true if the file was read successfully. + */ + virtual bool read(const QString &pathToFile, Signature &objSign) = 0; + + /** + * @brief write This is method be write a new copyright signature into file (replace an old signature). + * @param pathToFile Path to the file in which to replace the signature. + * @param objSign The object signature. + * @return Returns true if the signature is valid. + */ + virtual bool write(const QString &pathToFile, const Signature &objSign) = 0; + + /** + * @brief supportsExtensions This method contains a list of file extensions that will be checked against the source files. + * @return Return A set of the supported extensions. + */ + virtual Extensinon supportsExtensions() = 0; + + virtual ~IFileManager(); +}; + +}; +#endif // IFILEHANDLER_H