about summary refs log tree commit diff stats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/invapi.hpp12
-rw-r--r--include/sqliteinterface.hpp2
-rw-r--r--include/ytcpp.hpp1
3 files changed, 13 insertions, 2 deletions
diff --git a/include/invapi.hpp b/include/invapi.hpp
index 3fb4c05..bcd5eef 100644
--- a/include/invapi.hpp
+++ b/include/invapi.hpp
@@ -9,10 +9,18 @@
 class InvidiousApi {
 
     public:
+        struct instance {
 
-        InvidiousApi(const std::string& url);
-        static std::vector<std::string> getInstances();
+            std::string url;
+            float health;
+            std::string location;
+        };
+
+        InvidiousApi(const std::string& url) : instanceUrl(url) {};
+        static std::vector<std::string> getInstancesUrls();
+        static std::vector<instance> getInstances();
         static void saveInstancesToDb(SqliteInterface& sqldb);
+        static std::string getInstanceUrlFromDb(SqliteInterface& sqldb);
         std::string getInstance();
         void setInstance(const std::string& newUrl);
 
diff --git a/include/sqliteinterface.hpp b/include/sqliteinterface.hpp
index 5c7de4d..42965d2 100644
--- a/include/sqliteinterface.hpp
+++ b/include/sqliteinterface.hpp
@@ -3,6 +3,7 @@
 #include <string>
 #include <sqlite3.h>
 #include "video.hpp"
+#include "invapi.hpp"
 
 class SqliteInterface {
 
@@ -14,6 +15,7 @@ class SqliteInterface {
         void createTables();
         void saveVideo(const Video::video&);
         void saveInstance(const char *uri, float health, const char *location);
+        void saveInstance(const InvidiousApi::instance&);
     private:
         sqlite3* db;
 };
diff --git a/include/ytcpp.hpp b/include/ytcpp.hpp
new file mode 100644
index 0000000..2e32ecc
--- /dev/null
+++ b/include/ytcpp.hpp
@@ -0,0 +1 @@
+void spawn(const char* url, bool wait);
\ No newline at end of file