File indexing completed on 2024-06-23 05:07:00

0001 /*
0002     SPDX-FileCopyrightText: 2006 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "handler.h"
0010 
0011 namespace Akonadi
0012 {
0013 namespace Server
0014 {
0015 class Collection;
0016 
0017 /**
0018   @ingroup akonadi_server_handler
0019 
0020   Handler for the collection deletion command.
0021 
0022   This commands deletes the selected collections including all their content
0023   and that of any child collection.
0024 */
0025 class CollectionDeleteHandler : public Handler
0026 {
0027 public:
0028     CollectionDeleteHandler(AkonadiServer &akonadi);
0029     ~CollectionDeleteHandler() override = default;
0030 
0031     bool parseStream() override;
0032 
0033 private:
0034     bool deleteRecursive(Collection &col);
0035 };
0036 
0037 } // namespace Server
0038 } // namespace Akonadi