diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-02-12 18:11:48 +0100 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2016-02-12 18:11:48 +0100 |
commit | a9a0f53af2138cf259daa2dfee62cb3d785d00aa (patch) | |
tree | da7123bab1c73222e25b40586783ecd0a5714cf8 /common/resourceaccess.h | |
parent | 1240a482ab13d285d2624c33015f0f61f16d91a9 (diff) | |
download | sink-a9a0f53af2138cf259daa2dfee62cb3d785d00aa.tar.gz sink-a9a0f53af2138cf259daa2dfee62cb3d785d00aa.zip |
moved ResourceAccessFactory
Diffstat (limited to 'common/resourceaccess.h')
-rw-r--r-- | common/resourceaccess.h | 16 |
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 | */ | ||
119 | class ResourceAccessFactory { | ||
120 | public: | ||
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 | } |