Files
OrcaSlicer/src/slic3r/GUI/Jobs/OAuthJob.hpp
Aidan 17fec83e5b Flatpak build (#4175)
* Initial commit for the builder

* fix wx, use hack to install into /app

* add some workarounds for /usr/local

* fix up rest of paths

* attempt to fix wxwebview undef

* figure out why wxwidgets isnt getting its patches applied

* do "proper" patching of wxwidgets

* Flip the flag

* actually append the /usr/local

* restrict package finding to flatpak only

* Update the destdir stuff for mpfr, gmp

* Transfer over all the _destdir, again

* update patch command for all other plats

* initial ci check

* what even happened

* clear ci image

* I doubt this will do anything

* do cleanup after running each step

* remove build objects for flatpak ci

* compress debug info

* Fix MacOS build

* Try saving space after building deps

* No debug info for now

* Do debug info, use thin static archives

* use BSD flag, not --thin

* try building with lto

* Use release, no debug info

* remove lto

* Revert the last 5 commits

* It might require write perms

* Revert "It might require write perms"

This reverts commit 44cec58a57.

* Import fixes for merge

* remove some patch stuff

* the worst hack!

* remove uneeded patches

* Initial commit for the builder

* note to self, go back to regular wx

* attempt to fix wxwebview undef

* do "proper" patching of wxwidgets

* update patch command for all other plats

* what even happened

* -ldep_name-NOTFOUND is still here

* concat patches

* Build wx with flatpak

* more wx shenatigans

* fix a missing import

* build wx with proper flags

* fix imports and libs

* trigger ci

* try fixing mac and windows ci

* remove duplicate definition of freetype

* curl may not have openssl for a dep

* has openssl been found?

* force building

* build images on apple

* cleanup for review

* cleanup cmake files

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-05-25 09:11:19 +08:00

66 lines
1.4 KiB
C++

#ifndef __OAuthJob_HPP__
#define __OAuthJob_HPP__
#include "Job.hpp"
#include "slic3r/GUI/HttpServer.hpp"
#include <boost/nowide/fstream.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/log/trivial.hpp>
namespace Slic3r {
namespace GUI {
class Plater;
struct OAuthParams
{
std::string login_url;
std::string client_id;
boost::asio::ip::port_type callback_port;
std::string callback_url;
std::string scope;
std::string response_type;
std::string auth_success_redirect_url;
std::string auth_fail_redirect_url;
std::string token_url;
std::string verification_code;
std::string state;
};
struct OAuthResult
{
bool success{false};
std::string error_message{""};
std::string access_token{""};
std::string refresh_token{""};
};
struct OAuthData
{
OAuthParams params;
std::shared_ptr<OAuthResult> result;
};
class OAuthJob : public Job
{
HttpServer local_authorization_server;
OAuthData _data;
wxWindow* m_event_handle{nullptr};
public:
explicit OAuthJob(const OAuthData& input);
void process(Ctl& ctl) override;
void finalize(bool canceled, std::exception_ptr& e) override;
void set_event_handle(wxWindow* hanle) { m_event_handle = hanle; }
static void parse_token_response(const std::string& body, bool error, OAuthResult& result);
};
wxDECLARE_EVENT(EVT_OAUTH_COMPLETE_MESSAGE, wxCommandEvent);
}} // namespace Slic3r::GUI
#endif // OAUTHJOB_HPP