aboutsummaryrefslogtreecommitdiff
path: root/mservicemapper/mservicemapper_p.h
diff options
context:
space:
mode:
authorMax Waterman <david.waterman@nokia.com>2010-05-07 17:56:16 +0300
committerDaniel d'Andrada <daniel.dandrada@nokia.com>2010-06-10 09:27:01 +0300
commit606d4800160477f3c85b78f93a1b7039fae48492 (patch)
tree965c9b58980ae5b34f4f24e4e9b1ac846ea7dbb5 /mservicemapper/mservicemapper_p.h
parent58a5d496072c3e78aaad85ad84ac44595a8dd8be (diff)
Fixes: NB#167467, adding and immediately removing service file
RevBy: Michal Guminiak Details: service mapper used a file system watcher to detect when services are added and removed. it erroneously assumed that there would only be a single file removed/added per watcher signal. now the service mapper correctly emits a signal for each file that has been removed/added. refactored to add a test for multiple changes, and general improvement (using the setPrivate() method seen in Qt unit tests). Removed unnecessary use of QMap
Diffstat (limited to 'mservicemapper/mservicemapper_p.h')
-rw-r--r--mservicemapper/mservicemapper_p.h29
1 files changed, 22 insertions, 7 deletions
diff --git a/mservicemapper/mservicemapper_p.h b/mservicemapper/mservicemapper_p.h
index 6b629bc7..c4fb4590 100644
--- a/mservicemapper/mservicemapper_p.h
+++ b/mservicemapper/mservicemapper_p.h
@@ -26,21 +26,36 @@
#include <QList>
#include <QFileSystemWatcher>
+class MServiceMapper;
+
+namespace
+{
+ enum { LastList, CurrList };
+};
+
class MServiceMapperPrivate
{
public:
+ MServiceMapperPrivate( const QString &serviceFiledir );
+
struct ServiceInfo {
QString service;
QString interface;
};
- QMap<QString, ServiceInfo> serviceFileInfo;
- QList<QStringList> serviceFileList;
- QFileSystemWatcher watcher;
- QString serviceFileDir;
+ QMap<QString, ServiceInfo> m_serviceFileInfo;
+ QList<QStringList> m_serviceFileList;
+ QFileSystemWatcher m_watcher;
+ QString m_serviceFileDir;
+
public:
- QStringList fillServiceFileList() const;
- bool fileExistsAndReadable(const QString &fileName) const;
- QIODevice *accessFile(const QString &fileName) const;
+ virtual QStringList fillServiceFileList() const;
+ virtual bool fileExistsAndReadable(const QString &fileName) const;
+ virtual QIODevice *accessFile(const QString &fileName) const;
+ virtual void init();
+
+ QString preferredService(const QStringList &serviceList) const;
+ ServiceInfo serviceInterfacePair(const QString &filePath) const;
+ void fillServiceFileInfo();
};
#endif