├── .clang_complete ├── .gitignore ├── Doxyfile ├── README.md ├── doc ├── QMLCachePlugin_8cpp.html ├── QMLCachePlugin_8cpp__incl.map ├── QMLCachePlugin_8cpp__incl.md5 ├── QMLCachePlugin_8cpp__incl.png ├── QMLCachePlugin_8h.html ├── QMLCachePlugin_8h__dep__incl.map ├── QMLCachePlugin_8h__dep__incl.md5 ├── QMLCachePlugin_8h__dep__incl.png ├── QMLCachePlugin_8h__incl.map ├── QMLCachePlugin_8h__incl.md5 ├── QMLCachePlugin_8h__incl.png ├── QMLCachePlugin_8h_source.html ├── QMLCache_8cpp.html ├── QMLCache_8cpp__incl.map ├── QMLCache_8cpp__incl.md5 ├── QMLCache_8cpp__incl.png ├── QMLCache_8h.html ├── QMLCache_8h__dep__incl.map ├── QMLCache_8h__dep__incl.md5 ├── QMLCache_8h__dep__incl.png ├── QMLCache_8h__incl.map ├── QMLCache_8h__incl.md5 ├── QMLCache_8h__incl.png ├── QMLCache_8h_source.html ├── annotated.html ├── annotated_dup.js ├── bc_s.png ├── bdwn.png ├── classQMLCacheNS_1_1QMLCache-members.html ├── classQMLCacheNS_1_1QMLCache.html ├── classQMLCacheNS_1_1QMLCache.js ├── classQMLCacheNS_1_1QMLCache__inherit__graph.map ├── classQMLCacheNS_1_1QMLCache__inherit__graph.md5 ├── classQMLCacheNS_1_1QMLCache__inherit__graph.png ├── classes.html ├── closed.png ├── dir_68267d1309a1af8e8297ef4c3efbcdba.html ├── dir_68267d1309a1af8e8297ef4c3efbcdba.js ├── doc.png ├── doxygen.css ├── doxygen.png ├── dynsections.js ├── files.html ├── files.js ├── folderclosed.png ├── folderopen.png ├── functions.html ├── functions_func.html ├── graph_legend.html ├── graph_legend.md5 ├── graph_legend.png ├── hierarchy.html ├── hierarchy.js ├── index.html ├── inherit_graph_0.map ├── inherit_graph_0.md5 ├── inherit_graph_0.png ├── inherits.html ├── jquery.js ├── menu.js ├── menudata.js ├── namespaceQMLCacheNS.html ├── namespaceQMLCacheNS.js ├── namespaces.html ├── namespaces.js ├── nav_f.png ├── nav_g.png ├── nav_h.png ├── navtree.css ├── navtree.js ├── navtreedata.js ├── navtreeindex0.js ├── open.png ├── resize.js ├── search │ ├── all_0.html │ ├── all_0.js │ ├── all_1.html │ ├── all_1.js │ ├── all_2.html │ ├── all_2.js │ ├── classes_0.html │ ├── classes_0.js │ ├── close.png │ ├── files_0.html │ ├── files_0.js │ ├── functions_0.html │ ├── functions_0.js │ ├── functions_1.html │ ├── functions_1.js │ ├── mag_sel.png │ ├── namespaces_0.html │ ├── namespaces_0.js │ ├── nomatches.html │ ├── pages_0.html │ ├── pages_0.js │ ├── search.css │ ├── search.js │ ├── search_l.png │ ├── search_m.png │ ├── search_r.png │ └── searchdata.js ├── splitbar.png ├── sync_off.png ├── sync_on.png ├── tab_a.png ├── tab_b.png ├── tab_h.png ├── tab_s.png └── tabs.css ├── qml-cache.pro ├── qmldir ├── samples └── qml-cache-demo │ ├── README.md │ ├── android │ ├── AndroidManifest.xml │ ├── build.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── res │ │ └── values │ │ └── libs.xml │ ├── qml-cache-demo.pro │ ├── qml.qrc │ └── src │ ├── main.cpp │ └── main.qml └── src ├── QMLCache.cpp ├── QMLCache.h ├── QMLCachePlugin.cpp └── QMLCachePlugin.h /.clang_complete: -------------------------------------------------------------------------------- 1 | -I/opt/Qt/5.10.0/gcc_64/include 2 | -I/opt/Qt/5.10.0/gcc_64/include/QtQuick 3 | -I/opt/Qt/5.10.0/gcc_64/include/QtGui 4 | -I/opt/Qt/5.10.0/gcc_64/include/QtQml 5 | -I/opt/Qt/5.10.0/gcc_64/include/QtNetwork 6 | -I/opt/Qt/5.10.0/gcc_64/include/QtBluetooth 7 | -I/opt/Qt/5.10.0/gcc_64/include/QtCore 8 | -Iinclude/ 9 | -fPIE 10 | -std=c++11 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | #Temp build files 2 | build*/ 3 | xml/ 4 | 5 | #Temp QT files 6 | *.user 7 | 8 | #Annoying files 9 | *~ 10 | 11 | #Ubuntu ignores 12 | .directory 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | qml-cache 2 | ========= 3 | 4 | qml-cache is a persistent app-exclusive key-value store plugin. It is tested with Qt 5.10.1 on the following: 5 | 6 | - Ubuntu 17.10 7 | - macOS 10.13.3 with Xcode 9.3 8 | - Windows 10 (UWP x64 (MSVC 2017)) with Visual Studio 2017 Community (with `Universal Windows Platform development` and `C++ Universal Windows Platform tools`) 9 | - Android 7.1.2 with Ubuntu 17.10 host with Android API 23, Android SDK Tools 25.2.5 and Android NDK r10e 10 | 11 | See [samples/](samples/) for example uses. 12 | 13 | See [doc/index.html](doc/index.html) for the API. 14 | 15 | build [Linux & macOS] 16 | --------------------- 17 | 18 | ``` 19 | $ mkdir build && cd build 20 | $ qt-install-dir/qt-version/target-platform/bin/qmake .. 21 | $ make install 22 | ``` 23 | 24 | This will install the QML plugin inside the Qt sysroot, which you must have write access to. **Be aware that this is not a sandboxed installation.** 25 | 26 | build [Android] 27 | --------------- 28 | 29 | ``` 30 | $ export ANDROID_NDK_ROOT=/path-to-android-ndk/ 31 | $ mkdir build && cd build 32 | $ qt-install-dir/qt-version/target-platform/bin/qmake .. 33 | $ make install 34 | ``` 35 | 36 | This will install the QML plugin inside the Qt sysroot, which you must have write access to. **Be aware that this is not a sandboxed installation.** 37 | 38 | build [Windows] 39 | --------------- 40 | 41 | Run the following in the `Developer Command Prompt for VS 2017`: 42 | 43 | ``` 44 | > "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 45 | > mkdir build 46 | > cd build 47 | > qt-install-root\qt-version\target-platform\bin\qmake .. 48 | > nmake 49 | > nmake install 50 | ``` 51 | 52 | This will install the QML plugin inside the Qt sysroot, which you must have write access to. **Be aware that this is not a sandboxed installation.** 53 | 54 | build documentation 55 | ------------------- 56 | 57 | Install dependencies: 58 | ``` 59 | $ apt install doxygen doxyqml 60 | ``` 61 | 62 | Then, generate the documentation: 63 | ``` 64 | $ doxygen 65 | ``` 66 | -------------------------------------------------------------------------------- /doc/QMLCachePlugin_8cpp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 |
31 | qml-cache
32 |
33 | |
34 |
Object that exposes the QMLCache plugin components as QML objects. 90 | More...
91 |104 | Namespaces | |
QMLCacheNS | |
Persistent app-exclusive key-value store plugin, accessible from QML. | |
Object that exposes the QMLCache plugin components as QML objects.
111 | 112 |
31 | qml-cache
32 |
33 | |
34 |
Object that exposes the QMLCache plugin components as QML objects. 90 | More...
91 |#include <QQmlExtensionPlugin>
#include <qqml.h>
Go to the source code of this file.
110 |112 | Namespaces | |
QMLCacheNS | |
Persistent app-exclusive key-value store plugin, accessible from QML. | |
Object that exposes the QMLCache plugin components as QML objects.
119 | 120 |
31 | qml-cache
32 |
33 | |
34 |
31 | qml-cache
32 |
33 | |
34 |
Persistent key-value cache accesible from QML. 90 | More...
91 |#include "QMLCache.h"
#include <QDir>
#include <QStandardPaths>
#include <QFile>
105 | Namespaces | |
QMLCacheNS | |
Persistent app-exclusive key-value store plugin, accessible from QML. | |
Persistent key-value cache accesible from QML.
112 | 113 |
31 | qml-cache
32 |
33 | |
34 |
Persistent key-value cache accesible from QML. 91 | More...
92 |#include <QQuickItem>
#include <QString>
Go to the source code of this file.
112 |114 | Classes | |
class | QMLCacheNS::QMLCache |
Persistent key-value cache accesible from QML. More... | |
120 | Namespaces | |
QMLCacheNS | |
Persistent app-exclusive key-value store plugin, accessible from QML. | |
Persistent key-value cache accesible from QML.
127 | 128 |
31 | qml-cache
32 |
33 | |
34 |
31 | qml-cache
32 |
33 | |
34 |
▼NQMLCacheNS | Persistent app-exclusive key-value store plugin, accessible from QML |
CQMLCache | Persistent key-value cache accesible from QML |
31 | qml-cache
32 |
33 | |
34 |
This is the complete list of members for QMLCacheNS::QMLCache, including all inherited members.
88 |read(const QString &key) | QMLCacheNS::QMLCache | slot |
write(const QString &key, const QString &value) | QMLCacheNS::QMLCache | slot |
31 | qml-cache
32 |
33 | |
34 |
Persistent key-value cache accesible from QML. 91 | More...
92 | 93 |#include <QMLCache.h>
103 | Public Slots | |
void | write (const QString &key, const QString &value) |
Writes a new key-value pair to the app's cache. More... | |
QString | read (const QString &key) |
Reads a key-value pair from the app's cache. More... | |
Persistent key-value cache accesible from QML.
113 |
123 |
|
133 | 134 | slot | 135 |
Reads a key-value pair from the app's cache.
140 |key | Key, must not be empty and must be a valid filename |
158 |
|
178 | 179 | slot | 180 |
Writes a new key-value pair to the app's cache.
185 |key | Key, must not be empty and must be a valid filename |
value | Value |
31 | qml-cache
32 |
33 | |
34 |
31 | qml-cache
32 |
33 | |
34 |
88 | Files | |
file | QMLCache.cpp |
Persistent key-value cache accesible from QML. | |
file | QMLCache.h [code] |
Persistent key-value cache accesible from QML. | |
file | QMLCachePlugin.cpp |
Object that exposes the QMLCache plugin components as QML objects. | |
file | QMLCachePlugin.h [code] |
Object that exposes the QMLCache plugin components as QML objects. | |
31 | qml-cache
32 |
33 | |
34 |
▼ src | |
QMLCache.cpp | Persistent key-value cache accesible from QML |
QMLCache.h | Persistent key-value cache accesible from QML |
QMLCachePlugin.cpp | Object that exposes the QMLCache plugin components as QML objects |
QMLCachePlugin.h | Object that exposes the QMLCache plugin components as QML objects |
31 | qml-cache
32 |
33 | |
34 |
31 | qml-cache
32 |
33 | |
34 |
31 | qml-cache
32 |
33 | |
34 |
This page explains how to interpret the graphs that are generated by doxygen.
87 |Consider the following example:
This will result in the following graph:
88 |The boxes in the above graph have the following meaning:
92 |The arrows have the following meaning:
103 |
31 | qml-cache
32 |
33 | |
34 |
▼CQQuickItem | |
CQMLCacheNS::QMLCache | Persistent key-value cache accesible from QML |
31 | qml-cache
32 |
33 | |
34 |
qml-cache is a persistent app-exclusive key-value store plugin. See README.md for more information.
87 |
31 | qml-cache
32 |
33 | |
34 |
![]() |
31 | qml-cache
32 |
33 | |
34 |
Persistent app-exclusive key-value store plugin, accessible from QML. 90 | More...
91 |93 | Classes | |
class | QMLCache |
Persistent key-value cache accesible from QML. More... | |
Persistent app-exclusive key-value store plugin, accessible from QML.
100 |
31 | qml-cache
32 |
33 | |
34 |
NQMLCacheNS | Persistent app-exclusive key-value store plugin, accessible from QML |