summaryrefslogtreecommitdiffstats
path: root/common/resourceaccess.h
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-12 18:11:48 +0100
committerChristian Mollekopf <chrigi_1@fastmail.fm>2016-02-12 18:11:48 +0100
commita9a0f53af2138cf259daa2dfee62cb3d785d00aa (patch)
treeda7123bab1c73222e25b40586783ecd0a5714cf8 /common/resourceaccess.h
parent1240a482ab13d285d2624c33015f0f61f16d91a9 (diff)
downloadsink-a9a0f53af2138cf259daa2dfee62cb3d785d00aa.tar.gz
sink-a9a0f53af2138cf259daa2dfee62cb3d785d00aa.zip
moved ResourceAccessFactory
Diffstat (limited to 'common/resourceaccess.h')
-rw-r--r--common/resourceaccess.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/common/resourceaccess.h b/common/resourceaccess.h
index 4c10adb..3b03210 100644
--- a/common/resourceaccess.h
+++ b/common/resourceaccess.h
@@ -111,4 +111,20 @@ private:
111 Private * const d; 111 Private * const d;
112}; 112};
113 113
114/**
115 * A factory for resource access instances that caches the instance for some time.
116 *
117 * This avoids constantly recreating connections, and should allow a single process to have one connection per resource.
118 */
119class ResourceAccessFactory {
120public:
121 static ResourceAccessFactory &instance();
122 Sink::ResourceAccess::Ptr getAccess(const QByteArray &instanceIdentifier);
123
124 QHash<QByteArray, QWeakPointer<Sink::ResourceAccess> > mWeakCache;
125 QHash<QByteArray, Sink::ResourceAccess::Ptr> mCache;
126 QHash<QByteArray, QTimer*> mTimer;
127};
128
129
114} 130}