aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/mastodon_instance.h
diff options
context:
space:
mode:
authorConfuSomu2023-08-24 18:43:15 -0400
committerConfuSomu2023-08-24 19:35:58 -0400
commit9c60bc8ce4a0990c228d2cd746791b88c41532b8 (patch)
treef6e7d56422f95f8202980a87866f0d798c199f47 /src/net/mastodon_instance.h
parente625d3fcca7c735ed98570bc1acbcaa840541e61 (diff)
downloadActorViewer-9c60bc8ce4a0990c228d2cd746791b88c41532b8.tar
ActorViewer-9c60bc8ce4a0990c228d2cd746791b88c41532b8.tar.gz
ActorViewer-9c60bc8ce4a0990c228d2cd746791b88c41532b8.zip
Implement basic Mastodon API support
Implement support for OAuth 2.0 code entry, which is then used to retrieve a token that is stored in the application's settings. Authentification allowed the implementation of a basic "get post from URL" feature mostly made for testing.
Diffstat (limited to 'src/net/mastodon_instance.h')
-rw-r--r--src/net/mastodon_instance.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/net/mastodon_instance.h b/src/net/mastodon_instance.h
new file mode 100644
index 0000000..983bef6
--- /dev/null
+++ b/src/net/mastodon_instance.h
@@ -0,0 +1,19 @@
+#pragma once
+#include "instance.h"
+#include "mastodonpp/instance.hpp"
+#include "mastodonpp/connection.hpp"
+
+class MastodonInstance : public Instance {
+public:
+ MastodonInstance();
+ ~MastodonInstance();
+ APPost* get_post_from_url(const QString &url);
+ QString oauth2_step1();
+ OAuth2Step2 oauth2_step2(const QString &auth_code);
+ bool supports_oauth2 = true;
+
+private:
+ mastodonpp::Instance instance;
+ mastodonpp::Connection connection;
+ mastodonpp::Instance::ObtainToken* obtain_token = nullptr;
+};