File indexing completed on 2024-05-12 05:22:24

0001 /*
0002  * This file is part of LibKGAPI library
0003  *
0004  * SPDX-FileCopyrightText: 2013 Daniel Vrátil <dvratil@redhat.com>
0005  *
0006  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007  */
0008 
0009 #pragma once
0010 
0011 #include "deletejob.h"
0012 #include "kgapilatitude_export.h"
0013 
0014 namespace KGAPI2
0015 {
0016 
0017 /**
0018  * @brief A job to delete one or more location from user's account on
0019  *        Google Latitude service
0020  *
0021  * Note that operation is irreversible.
0022  *
0023  * @author Daniel Vrátil <dvratil@redhat.com>
0024  * @since 2.0
0025  */
0026 class KGAPILATITUDE_DEPRECATED_EXPORT LocationDeleteJob : public KGAPI2::DeleteJob
0027 {
0028     Q_OBJECT
0029 
0030 public:
0031     /**
0032      * @brief Constructs a job that will delete user's current location from
0033      *        his/her Google Latitude account.
0034      *
0035      * @param account Account to authenticate the request
0036      * @param parent
0037      */
0038     explicit LocationDeleteJob(const AccountPtr &account, QObject *parent);
0039 
0040     /**
0041      * @brief Constructs a job that will delete given @p location from user's
0042      *        Google Latitude account.
0043      *
0044      * @param location Location to delete
0045      * @param account Account to authenticate the request
0046      * @param parent
0047      */
0048     explicit LocationDeleteJob(const LocationPtr &location, const AccountPtr &account, QObject *parent);
0049 
0050     /**
0051      * @brief Constructs a job that will delete given location with given
0052      *         @p timestamp from user'sGoogle Latitude account.
0053      *
0054      * @param timestamp Timestamp of location to delete
0055      * @param account Account to authenticate the request
0056      * @param parent
0057      */
0058     explicit LocationDeleteJob(qulonglong timestamp, const AccountPtr &account, QObject *parent);
0059 
0060     /**
0061      * @brief Destructor
0062      */
0063     ~LocationDeleteJob() override;
0064 
0065 protected:
0066     /**
0067      * @brief KGAPI2::Job::start implementation
0068      */
0069     void start() override;
0070 
0071 private:
0072     class Private;
0073     Private *const d;
0074     friend class Private;
0075 };
0076 
0077 } // namespace KGAPI2