From 4134fa4133aedc824bcedc11402805773a2c6144 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Fri, 22 Jul 2016 18:15:43 +0900 Subject: Introduced LogoutJob The job calls the /logout endpoint of CS API that invalidates the passed access_token; a respective Connection::logout() method and Connection::loggedOut() signal are added for use in clients. --- jobs/logoutjob.cpp | 35 +++++++++++++++++++++++++++++++++++ jobs/logoutjob.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 jobs/logoutjob.cpp create mode 100644 jobs/logoutjob.h (limited to 'jobs') diff --git a/jobs/logoutjob.cpp b/jobs/logoutjob.cpp new file mode 100644 index 00000000..88767e4c --- /dev/null +++ b/jobs/logoutjob.cpp @@ -0,0 +1,35 @@ +/****************************************************************************** + * Copyright (C) 2016 Kitsune Ral + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include "logoutjob.h" + +using namespace QMatrixClient; + +LogoutJob::LogoutJob(ConnectionData* connection) + : BaseJob(connection, JobHttpType::PostJob, "LogoutJob") +{ +} + +LogoutJob::~LogoutJob() +{ +} + +QString LogoutJob::apiPath() const +{ + return "/_matrix/client/r0/logout"; +} diff --git a/jobs/logoutjob.h b/jobs/logoutjob.h new file mode 100644 index 00000000..faa1e2cb --- /dev/null +++ b/jobs/logoutjob.h @@ -0,0 +1,34 @@ +/****************************************************************************** + * Copyright (C) 2016 Kitsune Ral + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#pragma once + +#include "basejob.h" + +namespace QMatrixClient +{ + class LogoutJob: public BaseJob + { + public: + LogoutJob(ConnectionData* connection); + virtual ~LogoutJob(); + + protected: + QString apiPath() const override; + }; +} -- cgit v1.2.3