File indexing completed on 2023-12-03 08:28:33

0001 /*
0002  * Copyright (C) 2013  Daniel Vrátil <dvratil@redhat.com>
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Lesser General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2.1 of the License, or (at your option) any later version.
0008  *
0009  * This library is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012  * Lesser General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU Lesser General Public
0015  * License along with this library; if not, write to the Free Software
0016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
0017  *
0018  */
0019 
0020 #ifndef KTP_LOGSEARCHHIT_H
0021 #define KTP_LOGSEARCHHIT_H
0022 
0023 #include <TelepathyQt/Types>
0024 #include <KTp/ktpcommoninternals_export.h>
0025 
0026 namespace KTp {
0027 
0028 class LogEntity;
0029 
0030 /**
0031  * @brief LogSearchHit is a result of PendingLoggerSearch operation.
0032  *
0033  * It describes a log that contains at least one message that matched the given
0034  * search term.
0035  *
0036  * @since 0.7
0037  * @author Daniel Vrátil <dvratil@redhat.com>
0038  */
0039 class KTPCOMMONINTERNALS_EXPORT LogSearchHit
0040 {
0041   public:
0042     /**
0043      * Constructor.
0044      *
0045      * @param account Matching account.
0046      * @param entity Matching entity.
0047      * @param date Matching date.
0048      */
0049     LogSearchHit(const Tp::AccountPtr &account, const KTp::LogEntity &entity,
0050                  const QDate &date);
0051 
0052     /**
0053      * Copy constructor.
0054      */
0055     LogSearchHit(const LogSearchHit &other);
0056 
0057     /**
0058      * Destructor.
0059      */
0060     ~LogSearchHit();
0061 
0062     /**
0063      * Assignment operator.
0064      */
0065     LogSearchHit& operator=(const KTp::LogSearchHit &other);
0066 
0067     /**
0068      * Returns account that contains the matching log message.
0069      */
0070     Tp::AccountPtr account() const;
0071 
0072     /**
0073      * Returns entity that contains the matching log messages.
0074      */
0075     KTp::LogEntity entity() const;
0076 
0077     /**
0078      * Returns date of the log that contains the matching message(s).
0079      */
0080     QDate date() const;
0081 
0082   private:
0083     class Private;
0084     QSharedDataPointer<Private> d;
0085 };
0086 
0087 } // namespace KTp
0088 
0089 #endif // KTP_LOGSEARCHHIT_H