This file is indexed.

/usr/include/buteosyncfw5/StorageChangeNotifierPlugin.h is in libbuteosyncfw5-dev 0.7.21+16.04.20151216.1-0ubuntu1.

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
#ifndef STORAGECHANGENOTIFIERPLUGIN_H
#define STORAGECHANGENOTIFIERPLUGIN_H

#include <QObject>
#include <QString>

namespace Buteo
{

/*! \brief Implement this class to notify about changes in
 * a specific storage - contacts/calendar/sms, or even custom
 * ones like a facebook storage, if there's such a storage on
 * the device
 */
class StorageChangeNotifierPlugin : public QObject
{
    Q_OBJECT

public: 
    /*! \brief constructor
     * @param aStorageName pass the well known sync storage name
     */
    StorageChangeNotifierPlugin(const QString& aStorageName):
    iStorageName(aStorageName){}

    /*! \brief destructor
     */
    virtual ~StorageChangeNotifierPlugin(){};

    /*! \brief the name should be a well-known name
     * which buteo sync-fw knows about as a storage that
     * could be synced, for eg hcontacts for contacts storage
     *
     * @return well-known storage name
     */
    virtual QString name() const = 0;

    /*! \brief Check if this storage has changes since the
     * last time it was asked for the same
     *
     * @return true if there are changes, false otherwise
     */
    virtual bool hasChanges() const = 0;

    /*! Call this after the change notification has been
     * received, either via a signal or by calling hasChanges()
     * manually
     */
    virtual void changesReceived() = 0; 

    /*! \brief Enable listening to storage changes
     */
    virtual void enable() = 0;

    /*! \brief Disable listening to storage changes
     *
     * @param disableAfterNextChange if set to true, then we
     * disable listening only if the next change occurs and
     * if enable() hasn't been called before this change is receivied.
     * This helps to get one notification in case items are added in batches.
     */
    virtual void disable(bool disableAfterNextChange = false) = 0;

Q_SIGNALS:
    /*! \brief emit this signal when there's a change in this
     * storage. It's upto the plug-in when and how frequently
     * it wants to emit this signal
     */
    void storageChange();

protected:
    QString iStorageName;
};

}

#endif