summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp
diff options
context:
space:
mode:
authorEirik Aavitsland <eirik.aavitsland@theqtcompany.com>2015-12-10 11:01:29 +0100
committeraavit <eirik.aavitsland@theqtcompany.com>2016-01-18 08:33:04 +0000
commitbfd367c6ec37c9d883c51316a149447b63005011 (patch)
tree362eede2404c6c3377bcb75cbfb9041c3231e653 /src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp
parent1172e18c3c180f2f3641e6c29688199eb5c46650 (diff)
Mirclient: update with upstream changes
Merge in the changes up to revision 306 of the lp:qtubuntu repo. Change-Id: I55dcb9e06e0a3503d6abe4b0894d5ef5a785b6bb Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp')
-rw-r--r--src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp b/src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp
index a0bb932df3..1b4c20153b 100644
--- a/src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp
+++ b/src/plugins/platforms/mirclient/qmirclientnativeinterface.cpp
@@ -35,17 +35,17 @@
****************************************************************************/
+// Local
+#include "qmirclientnativeinterface.h"
+#include "qmirclientscreen.h"
+#include "qmirclientglcontext.h"
+
// Qt
#include <private/qguiapplication_p.h>
#include <QtGui/qopenglcontext.h>
#include <QtGui/qscreen.h>
#include <QtCore/QMap>
-// Local
-#include "qmirclientnativeinterface.h"
-#include "qmirclientscreen.h"
-#include "qmirclientglcontext.h"
-
class QMirClientResourceMap : public QMap<QByteArray, QMirClientNativeInterface::ResourceType>
{
public:
@@ -55,6 +55,7 @@ public:
insert("eglcontext", QMirClientNativeInterface::EglContext);
insert("nativeorientation", QMirClientNativeInterface::NativeOrientation);
insert("display", QMirClientNativeInterface::Display);
+ insert("mirconnection", QMirClientNativeInterface::MirConnection);
}
};
@@ -63,6 +64,7 @@ Q_GLOBAL_STATIC(QMirClientResourceMap, ubuntuResourceMap)
QMirClientNativeInterface::QMirClientNativeInterface()
: mGenericEventFilterType(QByteArrayLiteral("Event"))
, mNativeOrientation(nullptr)
+ , mMirConnection(nullptr)
{
}
@@ -72,6 +74,23 @@ QMirClientNativeInterface::~QMirClientNativeInterface()
mNativeOrientation = nullptr;
}
+void* QMirClientNativeInterface::nativeResourceForIntegration(const QByteArray &resourceString)
+{
+ const QByteArray lowerCaseResource = resourceString.toLower();
+
+ if (!ubuntuResourceMap()->contains(lowerCaseResource)) {
+ return nullptr;
+ }
+
+ const ResourceType resourceType = ubuntuResourceMap()->value(lowerCaseResource);
+
+ if (resourceType == QMirClientNativeInterface::MirConnection) {
+ return mMirConnection;
+ } else {
+ return nullptr;
+ }
+}
+
void* QMirClientNativeInterface::nativeResourceForContext(
const QByteArray& resourceString, QOpenGLContext* context)
{