/** * libtransport -- C++ library for easy XMPP Transports development * * Copyright (C) 2015, Jan Kaluza <hanzz.k@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA */#pragma once#include<string>namespaceTransport{classOAuth2{public:OAuth2(conststd::string&clientId,conststd::string&clientSecret,conststd::string&authURL,conststd::string&tokenURL,conststd::string&redirectURL="",conststd::string&scope="");virtual~OAuth2();std::stringgenerateAuthURL();conststd::string&getState(){returnm_state;}std::stringrequestToken(conststd::string&code,std::string&token,std::string&bot_token);private:std::stringm_clientId;std::stringm_clientSecret;std::stringm_authURL;std::stringm_tokenURL;std::stringm_redirectURL;std::stringm_scope;std::stringm_state;};}