00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014 #include <queue>
00015 #include <memory>
00016 #include <string>
00017
00018 #include "FormData.h"
00019
00020
00021
00022
00023 class IDocumentForm
00024 {
00025 protected:
00026
00027
00028
00029 IDocumentForm() = default;
00030
00031
00032
00033
00034 IDocumentForm(const IDocumentForm&) = delete;
00035
00036
00037
00038
00039 IDocumentForm& operator=(const IDocumentForm&) = delete;
00040
00041
00042
00043
00044 IDocumentForm(IDocumentForm&&) = delete;
00045
00046
00047
00048
00049 IDocumentForm& operator=(IDocumentForm&&) = delete;
00050
00051 public:
00052
00053
00054
00055 virtual ~IDocumentForm() = default;
00056
00057
00058
00059
00060 static std::unique_ptr<IDocumentForm> create();
00061
00062
00063
00064
00065
00066
00067
00068 virtual std::vector<std::unique_ptr<FormData>> GetFormDatas(std::string const& templateFilePath, std::string const& submittedFilePath) = 0;
00069 };