* 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 44cec58a5713cb5ebbc44e64e314b88b553b8f75. * 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>
66 lines
1.4 KiB
C++
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
|