Parcourir la source

declaration for generic task, implementation as instagram_task

logicp il y a 4 ans
Parent
commit
1b7dce6a67
3 fichiers modifiés avec 51 ajouts et 0 suppressions
  1. 1 0
      include/task/instagram_task.hpp
  2. 14 0
      include/task/task.hpp
  3. 36 0
      src/instagram_task.cpp

+ 1 - 0
include/task/instagram_task.hpp

@@ -8,6 +8,7 @@ namespace Task {
 class InstagramTask : public Task {
  public:
   bool isReady() override { return false; }
+  virtual const TaskArguments getTaskArguments() override;
   ~InstagramTask() override {}
 };
 }  // namespace Task

+ 14 - 0
include/task/task.hpp

@@ -1,11 +1,25 @@
 #ifndef __TASK_HPP__
 #define __TASK_HPP__
 
+#include <QString>
+#include <QVector>
+
 namespace Task {
 
+class TaskArgument {
+  QString name;
+  QString type;
+
+ public:
+  TaskArgument(QString n, QString t) : name(n), type(t) {}
+};
+
+using TaskArguments = QVector<TaskArgument>;
+
 class Task {
  public:
   virtual bool isReady() = 0;
+  virtual const TaskArguments getTaskArguments() = 0;
   virtual ~Task() = 0;
 };
 }  // namespace Task

+ 36 - 0
src/instagram_task.cpp

@@ -0,0 +1,36 @@
+#include <include/task/instagram_task.hpp>
+
+using namespace Task;
+
+//  std::string header = "Learn to speak like native Korean speakers 🙆‍♀️🇰🇷";
+//  std::string description;
+//  std::string datetime;
+//  std::string promote_share = "Share the post through IG story if you enjoy the phrase 🙋‍♀️";
+//  std::string link_in_bio = "Subscribe to my YouTube channel (link 🔗in bio) to learn more about Korean language and
+//  culture ❤"; std::vector<std::string> hashtags; std::vector<std::string> requested_by; const char
+//  *requested_by_phrase = "The phrase was requested by "; std::vector<KFile> files; std::string user; bool is_video;
+const QVector<TaskArgument> instagram_task_arguments{TaskArgument{"header", "Text"},
+                                                     TaskArgument{"description", "Text"},
+                                                     TaskArgument{"datetime", "Datetime"},
+                                                     TaskArgument{"promote_share", "Text"},
+                                                     TaskArgument{"link_in_bio", "Text"},
+                                                     TaskArgument{"hashtags", "StringVector"},
+                                                     TaskArgument{"requested_by", "StringVector"},
+                                                     TaskArgument{"requested_by_phrase", "Text"},
+                                                     TaskArgument{"files", "FileVector"},
+                                                     TaskArgument{"user", "Text"},
+                                                     TaskArgument{"is_video", "Boolean"}};
+
+// const TaskArguments InstagramTask::getTaskArguments() {
+//  return QVector<TaskArgument>{TaskArgument{"header", "Text"},
+//                               TaskArgument{"description", "Text"},
+//                               TaskArgument{"datetime", "Datetime"},
+//                               TaskArgument{"promote_share", "Text"},
+//                               TaskArgument{"link_in_bio", "Text"},
+//                               TaskArgument{"hashtags", "StringVector"},
+//                               TaskArgument{"requested_by", "StringVector"},
+//                               TaskArgument{"requested_by_phrase", "Text"},
+//                               TaskArgument{"files", "FileVector"},
+//                               TaskArgument{"user", "Text"},
+//                               TaskArgument{"is_video", "Boolean"}};
+//}