This file is indexed.

/usr/include/TelepathyLoggerQt/log-manager.h is in libtelepathy-logger-qt-dev 17.08.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
/*
 * This file is part of TelepathyLoggerQt
 *
 * Copyright (C) 2011 Stefano Sanfilippo <stefano.k.sanfilippo@gmail.com>
 * Copyright (C) 2011 Collabora Ltd. <http://www.collabora.co.uk/>
 * Copyright (C) 2013 Dan Vrátil <dvratil@redhat.com>
 *
 * 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 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 Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#ifndef _TelepathyLoggerQt_log_manager_h_HEADER_GUARD_
#define _TelepathyLoggerQt_log_manager_h_HEADER_GUARD_

#include <TelepathyLoggerQt_export.h>
#include <TelepathyLogger_version.h>

// Check TelepathyLogger version
#ifndef TPLQT_TPL_IS_VERSION
#define TPLQT_TPL_IS_VERSION(maj, min, patch) \
   (TelepathyLogger_VERSION_MAJOR > maj) \
|| (TelepathyLogger_VERSION_MAJOR == maj && TelepathyLogger_VERSION_MINOR > min) \
|| (TelepathyLogger_VERSION_MAJOR == maj && TelepathyLogger_VERSION_MINOR == min && TelepathyLogger_VERSION_PATCH >= patch)
#endif

#include "types.h"
#include "object.h"

namespace Tpl
{

/*!
 * \headerfile log-manager.h <TelepathyLoggerQt/LogManager>
 * \brief The LogManager object allows user to fetch logs and make searches.
 */
class TELEPATHY_LOGGER_QT_EXPORT LogManager : public Tpl::Object
{
public:
    /*!
     * \brief Returns reference to a LogManager singleton
     */
    static LogManagerPtr instance();

    /*!
     * \brief Returns Tp::AccountManager assigned to the LogManager.
     */
    Tp::AccountManagerPtr accountManagerPtr() const;

    /*!
     * \brief Sets a new Tp::AccountManager to be used by the LogManager.
     *
     * The \p accountManager is expected to be in ready state.
     *
     * \param accountManager An Tp::AccountManager in the ready state.
     */
    void setAccountManagerPtr(const Tp::AccountManagerPtr & accountManager);

    /*!
     * \brief Checks if logs exist for \p target.
     *
     * It applies for any registered readable log store.
     *
     * \param account An account to which the events should be associated
     * \param target Target to query
     * \param type Type of the events to query
     * \returns true when logs exist for \p target, otherwise false.
     */
    bool exists(const Tp::AccountPtr & account, const EntityPtr & target, EventTypeMask type) const;

    /*!
     * \brief Retrieves a list of dates corresponding to each day where
     * at least one event exist for \p target.
     *
     * \param account An account associated with the events
     * \param entity An entity to query
     * \param typeMask Type of events to query
     * \return Returns a PendingOperation that will emit finished() when
     * events were retrieved or an error occurs.
     */
    PendingDates *queryDates(const Tp::AccountPtr & account, const EntityPtr & entity,
        EventTypeMask typeMask);

    /*!
     * \brief Retrieves a list of events on given \p date for \p target.
     *
     * \param account An account associated with the events
     * \param entity An entity to query
     * \param typeMask Type of events to query
     * \param date A date for which to retrieve events
     * \return Returns a PendingOperation that will emit finished() when
     * events were retrieved or an error occurs.
     */
    PendingEvents *queryEvents(const Tp::AccountPtr & account, const EntityPtr & entity,
        EventTypeMask typeMask, const QDate & date);

    /*!
     * \brief Retrieves a list of events matching given filter.
     *
     * \param account An account associated with the events
     * \param entity An entity to query
     * \param typeMask Type of events to query
     * \param numEvents Maximum amount of events to fetch
     * \param filterFunction A filter function that will be called for every event to
     * check whether it matches the filter or not.
     * \param filterFunctionUserData An arbitrary user data to be passed to the \p filterFunction
     * with every call.
     * \return Returns a PendingOperation that will emit finished() when
     * events were retrieved has been rewound or an error occurs.
     */
    PendingEvents *queryFilteredEvents(const Tp::AccountPtr & account, const EntityPtr & entity,
        EventTypeMask typeMask, uint numEvents, LogEventFilter filterFunction,
        void *filterFunctionUserData = 0);

    /**
     * \brief Retrieves a list of entities associated with given \p account.
     *
     * \param account
     * \return Returns a PendingOperation that will emit finished() when
     * entities were retrieved or an error occurs.
     */
    PendingEntities *queryEntities(const Tp::AccountPtr & account);

    /**
     * \brief Retrieves a list of events matching given full-text filter
     *
     * \param text A pattern to search
     * \param typeMask Type of events to match
     * \return Returns a PendingOperation that will emit finished() when
     * entities were retrieved or an error occurs.
     */
    PendingSearch *search(const QString &text, EventTypeMask typeMask);

    /**
     * \brief Irreversibly deletes all logs.
     *
     * \return Returns a PendingOperation that will emit finished() when
     * all logs were deleted or an error occurs.
     */
    PendingOperation *clearHistory();

    /**
     * \brief Irreversibly deletes all logs associated with given \p account
     *
     * \param account
     * \return Returns a PendingOperation that will emit finished() when
     * logs were deleted or an error occurs.
     */
    PendingOperation *clearAccountHistory(const Tp::AccountPtr &account);

    /**
     * \brief Irreversibly delets all logs associated with given \p account and
     * \p entity.
     *
     * \param account
     * \param entity
     * \return Returns a PendingOperation that will emit finished() when
     * logs were deleted or an error occurs.
     */
    PendingOperation *clearEntityHistory(const Tp::AccountPtr &account, const Tpl::EntityPtr &entity);

    /**
     * \brief Creates a LogWalker to traverse all the events exchanged with \p target
     *
     * \param account An account associated with the events
     * \param entity An entity associated with the events
     * \param typeMask Type of events to query
     * \param filterFunction A filter function that will be called for every event to
     * check whether it matches the filter or not.
     * \param filterFunctionUserData An arbitrary user data to be passed to the
     * \p filterFunction with every call.
     * \return A new LogWalker.
     * \since 0.8.0
     */
    Tpl::LogWalkerPtr queryWalkFilteredEvents(const Tp::AccountPtr &account,
        const Tpl::EntityPtr &entity, EventTypeMask typeMask, LogEventFilter filterFunction,
        void *filterFunctionUserData = 0);

#if TPLQT_TPL_IS_VERSION(0, 9, 0)
    /**
     * \brief Disables logging for given \p account and \p entity
     *
     * \param account
     * \param entity
     *
     * \return true if operation succeeds
     */
    bool disableForEntity(const Tp::AccountPtr &account, const EntityPtr &entity);

    /**
     * \brief Enables logging for given \p account and \p entity
     *
     * \param account
     * \param entity
     *
     * \return true if operation succeeds
     */
    bool enableForEntity(const Tp::AccountPtr &account, const EntityPtr &entity);

    /**
     * \brief Checks if logging is disabled for given \p account and \p entity
     *
     * \param account
     * \param entity
     *
     * \return true if logging is disabled for given \p account and \p entity
     */
    bool isDisabledForEntity(const Tp::AccountPtr &account, const EntityPtr &entity);
#endif

private:
    QTELEPATHYLOGGERQT_WRAPPER(LogManager)
};

} //namespace

#endif