summaryrefslogtreecommitdiffstats
path: root/meta-agl-profile-demo
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-profile-demo')
-rw-r--r--meta-agl-profile-demo/conf/layer.conf10
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb16
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb16
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb28
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb17
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb15
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb17
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb17
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb16
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb16
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb16
-rw-r--r--meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb25
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb38
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service11
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch23
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf39
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend13
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend2
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg3
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb26
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/.appends.core0
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend3
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch11
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/libnfc/libnfc_git.bb18
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch40
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb26
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia0
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch28
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service13
-rw-r--r--meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend25
-rw-r--r--meta-agl-profile-demo/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bb13
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch30
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch81
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch98
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch24
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb54
-rw-r--r--meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb52
-rw-r--r--meta-agl-profile-demo/recipes-kernel/mocca-usb/mocca-usb.bb22
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch472
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch26
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0004-most-video-set-device_caps.patch25
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch25
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch186
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0007-dim2-use-device-tree.patch378
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch92
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch47
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/most.bb14
-rw-r--r--meta-agl-profile-demo/recipes-kernel/most/most.bbappend12
-rw-r--r--meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch25
-rw-r--r--meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/audiomanager.service17
-rw-r--r--meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager_7.4.bb56
-rw-r--r--meta-agl-profile-demo/recipes-qt/.gitkeep0
-rw-r--r--meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb32
-rw-r--r--meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb26
-rw-r--r--meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend23
-rw-r--r--meta-agl-profile-demo/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb25
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtbase-native_git.bbappend3
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch30
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtbase_%.bbappend16
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch80
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia_%.bbappend7
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtsystems_%.bbappend3
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch693
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch56
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch62
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch34
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch33
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch468
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch1029
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch772
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch128
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch539
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch14
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch31
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch12
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwayland_%.bbappend36
-rw-r--r--meta-agl-profile-demo/recipes-qt/qt5/qtwebkit_%.bbappend1
77 files changed, 0 insertions, 6430 deletions
diff --git a/meta-agl-profile-demo/conf/layer.conf b/meta-agl-profile-demo/conf/layer.conf
deleted file mode 100644
index bf7347e58..000000000
--- a/meta-agl-profile-demo/conf/layer.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-# We have a conf and classes directory, add to BBPATH
-BBPATH =. "${LAYERDIR}:"
-
-# We have recipes-* directories, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
- ${LAYERDIR}/recipes-*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "aglprofiledemo"
-BBFILE_PATTERN_aglprofiledemo = "^${LAYERDIR}/"
-BBFILE_PRIORITY_aglprofiledemo = "70"
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb
deleted file mode 100644
index cc923fd4a..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-agl.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-AGL App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-agl \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb
deleted file mode 100644
index 333195b74..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-automotive.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Automotive Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-automotive \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb
deleted file mode 100644
index fa45c97d6..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-connectivity.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Connectivity Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-connectivity \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
-
-AGL_APPS = " \
- "
-# restricted due to dependency on Kernel >= 4.8 which is not available in all repositories
-AGL_APPS_append_m3ulcb = " agl-service-can-low-level "
-AGL_APPS_append_intel-corei7-64 = " agl-service-can-low-level "
-AGL_APPS_append_qemux86-64 = " agl-service-can-low-level "
-
-RDEPENDS_${PN}_append = " \
- ${AGL_APPS} \
- "
-
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb
deleted file mode 100644
index 1e707ce46..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-graphics.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Graphics Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-graphics \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- opencv \
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb
deleted file mode 100644
index ed395f4f0..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-multimedia.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Multimedia Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-multimedia \
- "
-
-RDEPENDS_${PN} += "\
- agl-service-mediaplayer \
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb
deleted file mode 100644
index a31c666ca..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-native.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Native App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-native \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- packagegroup-agl-appfw-native-qt5 \
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb
deleted file mode 100644
index 3e5c9b396..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-navi-lbs.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Navigation and Location-Based Services Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-navi-lbs \
- "
-
-RDEPENDS_${PN} += "\
- agl-service-gps \
- agl-service-geoclue \
- agl-service-geofence \
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb
deleted file mode 100644
index 3806899da..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-security.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Security Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-security \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb
deleted file mode 100644
index 5f716c21e..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-speech-services.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Speech Services Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-speech-services \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb
deleted file mode 100644
index 6da656573..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw-web.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Web App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-web \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb b/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb
deleted file mode 100644
index cb5636bfd..000000000
--- a/meta-agl-profile-demo/recipes-appfw/packagegroups/packagegroup-agl-appfw.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- packagegroup-agl-appfw-automotive \
- packagegroup-agl-appfw-connectivity \
- packagegroup-agl-appfw-graphics \
- packagegroup-agl-appfw-multimedia \
- packagegroup-agl-appfw-navi-lbs \
- packagegroup-agl-appfw-agl \
- packagegroup-agl-appfw-native \
- packagegroup-agl-appfw-web \
- packagegroup-agl-appfw-security \
- packagegroup-agl-appfw-speech-services \
- "
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb
deleted file mode 100644
index 6379ec38f..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/bluez-alsa_git.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-SUMMARY = "Bluetooth Audio ALSA Backend"
-HOMEPAGE = "https://github.com/Arkq/bluez-alsa"
-SECTION = "libs"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb3e99e80c5d718213f35ae1def4c106"
-
-SRC_URI = "git://github.com/Arkq/bluez-alsa.git;protocol=https;branch=master"
-SRCREV = "9045edb436ea755f395a2e09e4525b5defad286a"
-
-SRC_URI += "file://bluez-alsa.service"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += "alsa-lib bluez5 systemd glib-2.0 sbc"
-
-PACKAGECONFIG[aac] = "--enable-aac, --disable-aac, "
-PACKAGECONFIG[aptx] = "--enable-aptx,--disable-aptx,"
-PACKAGECONFIG[hcitop] = "--enable-hcitop, --disable-hcitop, libbsd ncurses"
-
-inherit autotools pkgconfig
-inherit systemd
-
-SYSTEMD_AUTO_ENABLE = "enable"
-SYSTEMD_SERVICE_${PN} = "bluez-alsa.service"
-
-PACKAGECONFIG += "hcitop"
-
-do_install_append () {
- install -d ${D}${base_libdir}/systemd/system
- install -m 0644 ${WORKDIR}/bluez-alsa.service ${D}${base_libdir}/systemd/system
-}
-
-FILES_${PN} += "\
- ${datadir}/alsa/alsa.conf.d/20-bluealsa.conf\
- ${libdir}/alsa-lib/libasound_module_ctl_bluealsa.so\
- ${libdir}/alsa-lib/libasound_module_pcm_bluealsa.so\
-"
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service b/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service
deleted file mode 100644
index 671815e03..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/bluez-alsa/files/bluez-alsa.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Bluetooth Audio ALSA Backend
-After=bluetooth.service
-Requires=bluetooth.service
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/bluealsa
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch
deleted file mode 100644
index ba2f33c62..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/0001_fix_compile_issue_when_using_in_c++.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -urN bluez-5.22.orig/lib/bluetooth.h bluez-5.22/lib/bluetooth.h
---- bluez-5.22.orig/lib/bluetooth.h 2013-12-10 15:59:06.000000000 +0900
-+++ bluez-5.22/lib/bluetooth.h 2015-10-28 13:34:25.749335768 +0900
-@@ -158,16 +158,16 @@
- #define bt_get_unaligned(ptr) \
- ({ \
- struct __attribute__((packed)) { \
-- typeof(*(ptr)) __v; \
-- } *__p = (typeof(__p)) (ptr); \
-+ __typeof__(*(ptr)) __v; \
-+ } *__p = (__typeof__(__p)) (ptr); \
- __p->__v; \
- })
-
- #define bt_put_unaligned(val, ptr) \
- do { \
- struct __attribute__((packed)) { \
-- typeof(*(ptr)) __v; \
-- } *__p = (typeof(__p)) (ptr); \
-+ __typeof__(*(ptr)) __v; \
-+ } *__p = (__typeof__(__p)) (ptr); \
- __p->__v = (val); \
- } while(0)
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf
deleted file mode 100644
index 1f2762de7..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5/bluetooth.conf
+++ /dev/null
@@ -1,39 +0,0 @@
-<!-- This configuration file specifies the required security policies
- for Bluetooth core daemon to work. -->
-
-<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
- "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
-<busconfig>
-
- <!-- ../system.conf have denied everything, so we just punch some holes -->
-
- <policy user="root">
- <allow own="org.bluez"/>
- <allow send_destination="org.bluez"/>
- <allow send_interface="org.bluez.Agent1"/>
- <allow send_interface="org.bluez.MediaEndpoint1"/>
- <allow send_interface="org.bluez.MediaPlayer1"/>
- <allow send_interface="org.bluez.ThermometerWatcher1"/>
- <allow send_interface="org.bluez.AlertAgent1"/>
- <allow send_interface="org.bluez.Profile1"/>
- <allow send_interface="org.bluez.HeartRateWatcher1"/>
- <allow send_interface="org.bluez.CyclingSpeedWatcher1"/>
- <allow send_interface="org.bluez.GattCharacteristic1"/>
- <allow send_interface="org.bluez.GattDescriptor1"/>
- <allow send_interface="org.freedesktop.DBus.ObjectManager"/>
- <allow send_interface="org.freedesktop.DBus.Properties"/>
- <allow receive_type="signal" receive_sender="org.bluez" receive_interface="org.freedesktop.DBus.Properties"/>
- <allow receive_type="signal" receive_sender="org.bluez" receive_interface="org.freedesktop.DBus.ObjectManager"/>
- </policy>
-
- <policy at_console="true">
- <allow send_destination="org.bluez"/>
- </policy>
-
- <!-- allow users of lp group (printing subsystem) to
- communicate with bluetoothd -->
- <policy group="lp">
- <allow send_destination="org.bluez"/>
- </policy>
-
-</busconfig>
diff --git a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend
deleted file mode 100644
index c5afa875f..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
-SRC_URI_append = " file://bluetooth.conf"
-
-APPLY_v522 = "${@str('no' if '${PV}' != '5.22' else 'yes')}"
-
-SRC_URI_append = "\
- file://0001_fix_compile_issue_when_using_in_c++.patch;apply=${APPLY_v522} \
-"
-
-
-do_install_append() {
- install -m 0644 ${WORKDIR}/bluetooth.conf ${D}${sysconfdir}/dbus-1/system.d/bluetooth.conf
-}
diff --git a/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend
deleted file mode 100644
index 198b651dd..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/busybox/busybox_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-SRC_URI += "file://enable-wget-https.cfg"
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
diff --git a/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg b/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg
deleted file mode 100644
index e92006bef..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/busybox/files/enable-wget-https.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-# Thu Jun 8 17:32:07 2017
-CONFIG_FEATURE_WGET_OPENSSL=y
-CONFIG_FEATURE_WGET_SSL_HELPER=y
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
deleted file mode 100644
index 02afef75f..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "A simple ncurses interface for connman"
-DESCRIPTION = "A simple ncurses interface for connman"
-HOMEPAGE = "https://gitlab.com/iotbzh/connman-json-client"
-
-SECTION = "console/network"
-
-DEPENDS = "dbus ncurses connman json-c"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
-
-SRC_URI = "git://gitlab.com/iotbzh/connman-json-client.git;protocol=https;rev=ad4261a2f87c914667b1f6841c913f6b08d373e2"
-
-inherit autotools pkgconfig
-
-EXTRA_AUTORECONF += " -i"
-EXTRA_OECONF += " --disable-optimization --enable-debug"
-
-S = "${WORKDIR}/git"
-
-do_install () {
- install -dm755 ${D}${bindir}
- install -Dm755 connman_ncurses ${D}${bindir}
-}
-
-FILES_${PN} = "${bindir}/connman_ncurses"
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core b/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core
deleted file mode 100644
index e69de29bb..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/connman/.appends.core
+++ /dev/null
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend
deleted file mode 100644
index e41cbe954..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/connman/connman_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI += "file://0001-disable-when-booting-over-nfs.patch"
diff --git a/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch b/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch
deleted file mode 100644
index 95fc0a905..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/connman/files/0001-disable-when-booting-over-nfs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/connman.service.in 2016-08-15 13:51:03.479478140 +0200
-+++ b/src/connman.service.in 2016-08-15 13:51:33.469478267 +0200
-@@ -7,6 +7,7 @@ RequiresMountsFor=@localstatedir@/lib/co
- After=dbus.service network-pre.target systemd-sysusers.service
- Before=network.target multi-user.target shutdown.target
- Wants=network.target
- Conflicts=systemd-resolved.service
-+ConditionKernelCommandLine=!root=/dev/nfs
-
- [Service]
- Type=dbus
diff --git a/meta-agl-profile-demo/recipes-connectivity/libnfc/libnfc_git.bb b/meta-agl-profile-demo/recipes-connectivity/libnfc/libnfc_git.bb
deleted file mode 100644
index bd216f815..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/libnfc/libnfc_git.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "libnfc"
-DESCRIPTION = "Platform independent Near Field Communication (NFC) library"
-HOMEPAGE = "https://github.com/nfc-tools/libnfc"
-SECTION = "apps"
-
-DEPENDS = "libusb"
-
-LICENSE = "LGPLv3"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
-
-inherit cmake pkgconfig
-
-SRC_URI = "git://github.com/nfc-tools/libnfc;protocol=https;branch=master"
-SRCREV = "2d4543673e9b76c02679ca8b89259659f1afd932"
-
-PV = "1.7.1+git${SRCPV}"
-S = "${WORKDIR}/git"
-
diff --git a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch
deleted file mode 100644
index 86b7392df..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr/0001-remove-I-usr-include-in-pkg-config.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 3aeaf8054fcb2617ca8f6196ca32be3e69337f77 Mon Sep 17 00:00:00 2001
-From: Martin Kelly <mkelly@xevo.com>
-Date: Fri, 21 Apr 2017 10:29:19 -0700
-Subject: [PATCH] remove -I/usr/include in pkg-config
-
-This shouldn't be necessary as it's part of the default compiler include
-paths anyway. Morever, it can cause GCC 6 C++ build failures in
-downstream packages when combined with QMake (such as
-qtmultimedia-rtlfm-radio-plugin).
-
-Fix these issues by removing it.
-
-Upstream-Status: Inappropriate [disable-feature]
-
-This patch should not go upstream because it breaks the ability to build
-with --prefix. That's not a problem for Openembedded, but it is for
-upstream more generally. See this mail thread for more information:
-
-http://lists.osmocom.org/pipermail/osmocom-sdr/2017-April/001580.html
-
-Signed-off-by: Martin Kelly <mkelly@xevo.com>
----
- librtlsdr.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/librtlsdr.pc.in b/librtlsdr.pc.in
-index 5e55049..84b6d0c 100644
---- a/librtlsdr.pc.in
-+++ b/librtlsdr.pc.in
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: RTL-SDR Library
- Description: C Utility Library
- Version: @VERSION@
--Cflags: -I${includedir}/ @RTLSDR_PC_CFLAGS@
-+Cflags: @RTLSDR_PC_CFLAGS@
- Libs: -L${libdir} -lrtlsdr -lusb-1.0
- Libs.private: @RTLSDR_PC_LIBS@
---
-2.1.4
-
diff --git a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb b/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
deleted file mode 100644
index 7d5c0217d..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rtl-sdr/rtl-sdr_0.5.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Turns a Realtek RTL2832U-based DVB dongle into a SDR receiver"
-DESCRIPTION = "DVB-T dongles based on the Realtek RTL2832U chipset can be used as Software Digital Radio adapters, since the chip allows transferring raw I/Q samples to the host, which is really used for DAB/DAB+/FM demodulation."
-HOMEPAGE = "http://sdr.osmocom.org/trac/wiki/rtl-sdr"
-
-LICENSE = "GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
- file://src/librtlsdr.c;endline=18;md5=1b05599c3ebd4d74857a0a7c45f3d4ef"
-
-DEPENDS = "libusb1"
-
-SRC_URI = "git://git.osmocom.org/rtl-sdr \
- file://0001-remove-I-usr-include-in-pkg-config.patch \
- "
-SRCREV = "e3c03f738f5aef4dc51e2b741fbdb542b9cc1bb1"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-EXTRA_OECONF = "--enable-driver-detach"
-#CFLAGS_remove = "
-do_configure_append() {
- # remove included temporary path from pc file due to pass-through of OE CFLAGS
- # debug-prefix-map
- # See: http://lists.openembedded.org/pipermail/openembedded-devel/2016-May/107456.html
- sed -i -e "s# -fdebug-prefix-map=.*##g" librtlsdr.pc
-} \ No newline at end of file
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia b/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia
deleted file mode 100644
index e69de29bb..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rygel/.appends.meta-multimedia
+++ /dev/null
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch b/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch
deleted file mode 100644
index 57b97a6ca..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rygel/files/0001-Fix-missing-link-to-unistring-for-lms-plugin.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 10602ca53b1c1231e96d8d446904617528c11dae Mon Sep 17 00:00:00 2001
-From: Ronan Le Martret <ronan.lemartret@iot.bzh>
-Date: Mon, 13 Mar 2017 15:31:41 +0100
-Subject: [PATCH] Fix missing link to unistring for lms plugin
-
-Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
----
- configure.ac | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index c5cbc00..2f7dc78 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -248,6 +248,10 @@ AS_IF([test "x$enable_lms_plugin" = "xyes"],
- gio-2.0 >= $GIO_REQUIRED
- sqlite3 >= $LIBSQLITE3_REQUIRED])
- RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gio-2.0 --pkg gee-0.8 --pkg sqlite3"
-+ AS_IF([test "x$have_unistring" = "xyes"],
-+ [
-+ RYGEL_PLUGIN_LMS_DEPS_LIBS="$RYGEL_PLUGIN_LMS_DEPS_LIBS -lunistring"
-+ ])
- AC_SUBST([RYGEL_PLUGIN_LMS_DEPS_VALAFLAGS])
- ])
-
---
-2.6.6
-
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service b/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service
deleted file mode 100644
index fb94d7160..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rygel/files/rygel.service
+++ /dev/null
@@ -1,13 +0,0 @@
-[Unit]
-Description=Rygel
-After=lightmediascanner.service
-Requires=lightmediascanner.service
-
-[Service]
-Type=dbus
-BusName=org.gnome.Rygel1
-ExecStart=/usr/bin/rygel -c /etc/rygel.conf
-
-[Install]
-WantedBy=default.target
-Alias=dbus-org.gnome.Rygel1.service
diff --git a/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend b/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend
deleted file mode 100644
index 4ae59259f..000000000
--- a/meta-agl-profile-demo/recipes-connectivity/rygel/rygel_%.bbappend
+++ /dev/null
@@ -1,25 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-# Disable everything but the media-export plugin, add the lms plugin
-PACKAGECONFIG = "media-export lms"
-PACKAGECONFIG[lms] = "--enable-lms-plugin,--disable-lms-plugin,sqlite3"
-
-# LightMediaScanner plugin patches
-SRC_URI += "\
- file://0001-Fix-missing-link-to-unistring-for-lms-plugin.patch \
- file://rygel.service \
-"
-
-do_install_prepend() {
- # Install rygel systemd service
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -m 644 -p -D ${WORKDIR}/rygel.service ${D}${systemd_user_unitdir}/rygel.service
-
- # Execute these manually on behalf of systemctl script (from systemd-systemctl-native.bb)
- # because it does not support systemd's user mode.
- # However, systemctl --global should be checked
- #mkdir -p ${D}/etc/systemd/user/default.target.wants/
- #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/dbus-org.gnome.Rygel1.service
- #ln -sf ${systemd_user_unitdir}/rygel.service ${D}/etc/systemd/user/default.target.wants/rygel.service
- fi
-}
diff --git a/meta-agl-profile-demo/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bb b/meta-agl-profile-demo/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bb
deleted file mode 100644
index abe6786f2..000000000
--- a/meta-agl-profile-demo/recipes-core/packagegroups/packagegroup-ivi-common-core-multimedia.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "The minimal set of packages for Multimedia Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-ivi-common-core-multimedia \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- "
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch
deleted file mode 100644
index 5bf6bf88e..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0001-Fix-build-with-systemd-209.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8080b7395c1638baee60fb3c46667f21e00b87fb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Erik=20Bot=C3=B6?= <erik.boto@pelagicore.com>
-Date: Fri, 4 Apr 2014 10:59:18 +0200
-Subject: [PATCH 1/4] Fix build with systemd >= 209
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate [Configuration Specific]
-Signed-off-by: Erik Botö <erik.boto@pelagicore.com>
----
- src/system/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/system/CMakeLists.txt b/src/system/CMakeLists.txt
-index ce87914..1d0d224 100644
---- a/src/system/CMakeLists.txt
-+++ b/src/system/CMakeLists.txt
-@@ -23,7 +23,7 @@ set(dlt_system_SRCS dlt-system.c dlt-system-options.c dlt-system-process-handlin
- dlt-system-syslog.c dlt-system-watchdog.c dlt-system-journal.c)
- add_executable(dlt-system ${dlt_system_SRCS} ${systemd_SRCS})
- if(WITH_SYSTEMD_JOURNAL)
-- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd-journal systemd-id128)
-+ target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES} systemd)
- else(WITH_SYSTEMD_JOURNAL)
- target_link_libraries(dlt-system dlt ${ZLIB_LIBRARIES})
- endif(WITH_SYSTEMD_JOURNAL)
---
-1.9.3
-
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
deleted file mode 100644
index 168847990..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0002-Don-t-execute-processes-as-a-specific-user.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From bcca4c99394ba422d03a5e76f2a0023ef248824a Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-Date: Tue, 18 Nov 2014 15:47:22 +0100
-Subject: [PATCH 2/4] Don't execute processes as a specific user.
-
-Upstream-Status: Inappropriate [Configuration Specific]
-Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
----
- systemd/dlt-adaptor-udp.service.cmake | 1 -
- systemd/dlt-example-user.service.cmake | 1 -
- systemd/dlt-receive.service.cmake | 1 -
- systemd/dlt-system.service.cmake | 1 -
- systemd/dlt.service.cmake | 1 -
- 5 files changed, 5 deletions(-)
-
-diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake
-index 8dac1f2..ecf9f9e 100644
---- a/systemd/dlt-adaptor-udp.service.cmake
-+++ b/systemd/dlt-adaptor-udp.service.cmake
-@@ -21,9 +21,8 @@ Wants=dlt.service
-
- [Service]
- Type=simple
--User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@
- LimitCORE=infinity
-
- [Install]
--WantedBy=multi-user.target
-\ No newline at end of file
-+WantedBy=multi-user.target
-diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
-index b665742..35009b0 100644
---- a/systemd/dlt-example-user.service.cmake
-+++ b/systemd/dlt-example-user.service.cmake
-@@ -21,6 +21,5 @@ Wants=dlt.service
-
- [Service]
- Type=simple
--User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
--LimitCORE=infinity
-\ No newline at end of file
-+LimitCORE=infinity
-diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
-index c07d447..8f88f00 100644
---- a/systemd/dlt-receive.service.cmake
-+++ b/systemd/dlt-receive.service.cmake
-@@ -22,6 +22,5 @@ Wants=dlt.service
-
- [Service]
- Type=simple
--User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
--LimitCORE=infinity
-\ No newline at end of file
-+LimitCORE=infinity
-diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
-index 0e91f42..1a5b913 100755
---- a/systemd/dlt-system.service.cmake
-+++ b/systemd/dlt-system.service.cmake
-@@ -22,7 +22,6 @@ Wants=dlt.service
-
- [Service]
- Type=simple
--User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
- WatchdogSec=@DLT_WatchdogSec@
- NotifyAccess=main
-diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
-index 0b3ee2c..e4753a2 100755
---- a/systemd/dlt.service.cmake
-+++ b/systemd/dlt.service.cmake
-@@ -21,7 +21,6 @@ Documentation=man:dlt-daemon(1) man:dlt.conf(5)
-
- [Service]
- Type=simple
--User=@DLT_USER@
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
- WatchdogSec=@DLT_WatchdogSec@
- NotifyAccess=main
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch
deleted file mode 100644
index 691a50027..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 6804c68ed61f4436818c58cb0abe1c21b4d48aea Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-Date: Tue, 18 Nov 2014 15:48:50 +0100
-Subject: [PATCH 3/4] systemd/*: unit type should be in lowercase, so use
- Type=simple
-
-Upstream-Status: Submitted [http://lists.genivi.org/pipermail/genivi-diagnostic-log-and-trace/2014-October/000546.html]
-Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
----
- systemd/dlt-adaptor-udp.service.cmake | 2 +-
- systemd/dlt-dbus.service.cmake | 2 +-
- systemd/dlt-example-user.service.cmake | 2 +-
- systemd/dlt-receive.service.cmake | 2 +-
- systemd/dlt-system.service.cmake | 2 +-
- systemd/dlt.service.cmake | 2 +-
- 6 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/systemd/dlt-adaptor-udp.service.cmake b/systemd/dlt-adaptor-udp.service.cmake
-index f446757..81a7158 100644
---- a/systemd/dlt-adaptor-udp.service.cmake
-+++ b/systemd/dlt-adaptor-udp.service.cmake
-@@ -19,7 +19,7 @@ Description=GENIVI DLT adaptor stdin. Adaptor for forwarding received UDP messag
- Wants=dlt.service
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-adaptor-udp -a @DLT_ADAPTOR_UDP_APPID@ -c @DLT_ADAPTOR_UDP_CTID@ -p @DLT_ADAPTOR_UDP_PORT@
- LimitCORE=infinity
-
-diff --git a/systemd/dlt-dbus.service.cmake b/systemd/dlt-dbus.service.cmake
-index d1e3b12..75dcdc3 100755
---- a/systemd/dlt-dbus.service.cmake
-+++ b/systemd/dlt-dbus.service.cmake
-@@ -20,7 +20,7 @@ Documentation=man:dlt-dbus(1) man:dlt-dbus.conf(5)
- Wants=dlt.service
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-dbus
- WatchdogSec=@DLT_WatchdogSec@
- NotifyAccess=main
-diff --git a/systemd/dlt-example-user.service.cmake b/systemd/dlt-example-user.service.cmake
-index b67a83c..fe9c567 100644
---- a/systemd/dlt-example-user.service.cmake
-+++ b/systemd/dlt-example-user.service.cmake
-@@ -19,6 +19,6 @@ Description=GENIVI DLT example user. Generate DLT messages and store them to fil
- Wants=dlt.service
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-example-user "Hallo from GENIVI DLT example user application"
- LimitCORE=infinity
-\ No newline at end of file
-diff --git a/systemd/dlt-receive.service.cmake b/systemd/dlt-receive.service.cmake
-index 4bbdfc2..3b47dd3 100644
---- a/systemd/dlt-receive.service.cmake
-+++ b/systemd/dlt-receive.service.cmake
-@@ -20,6 +20,6 @@ Documentation=man:dlt-receive(1)
- Wants=dlt.service
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-receive -o /tmp/dlt_receive_log.dlt localhost
- LimitCORE=infinity
-\ No newline at end of file
-diff --git a/systemd/dlt-system.service.cmake b/systemd/dlt-system.service.cmake
-index 7ec995c..d4a4c96 100755
---- a/systemd/dlt-system.service.cmake
-+++ b/systemd/dlt-system.service.cmake
-@@ -20,7 +20,7 @@ Documentation=man:dlt-system(1) man:dlt-system.conf(5)
- Wants=dlt.service
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-system
- WatchdogSec=@DLT_WatchdogSec@
- NotifyAccess=main
-diff --git a/systemd/dlt.service.cmake b/systemd/dlt.service.cmake
-index 7bb05bc..5386ffd 100755
---- a/systemd/dlt.service.cmake
-+++ b/systemd/dlt.service.cmake
-@@ -19,7 +19,7 @@ Description=GENIVI DLT logging daemon
- Documentation=man:dlt-daemon(1) man:dlt.conf(5)
-
- [Service]
--Type=Simple
-+Type=simple
- ExecStart=@CMAKE_INSTALL_PREFIX@/bin/dlt-daemon
- WatchdogSec=@DLT_WatchdogSec@
- NotifyAccess=main
---
-1.9.3
-
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
deleted file mode 100644
index 685dfcddc..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon/0004-Modify-systemd-config-directory.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 9a5e655cf57301008cd61d53c8a410a7f397e650 Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-Date: Tue, 18 Nov 2014 15:51:30 +0100
-Subject: [PATCH 4/4] Modify systemd config directory
-
-Upstream-Status: Inappropriate [Configuration Specific]
-Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
----
- systemd/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index e6b44a2..0e885bf 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -175,7 +175,7 @@ if(WITH_SYSTEMD OR WITH_SYSTEMD_WATCHDOG OR WITH_SYSTEMD_JOURNAL)
-
- set( systemd_SRCS ${CMAKE_SOURCE_DIR}/systemd/3rdparty/sd-daemon.c)
-
-- set(SYSTEMD_UNITDIR "${CMAKE_INSTALL_PREFIX}/lib/systemd/system" CACHE PATH
-+ set(SYSTEMD_UNITDIR "/lib/systemd/system" CACHE PATH
- "Set directory to install systemd unit files")
-
- add_subdirectory( systemd )
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb
deleted file mode 100644
index b521bca91..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.11.1.bb
+++ /dev/null
@@ -1,54 +0,0 @@
-SUMMARY = "Diagnostic Log and Trace"
-DESCRIPTION = "This component provides a standardised log and trace interface, \
-based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
-This component can be used by GENIVI components and other applications as \
-logging facility providing: \
-- the DLT shared library \
-- the DLT daemon, including startup scripts \
-- the DLT daemon adaptors- the DLT client console utilities \
-- the DLT test applications"
-HOMEPAGE = "https://www.genivi.org/"
-SECTION = "console/utils"
-LICENSE = "MPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=99ba60c3fad7eaf8c56bca6dd75cba09 \
- file://MPL.txt;md5=ccdb2761cef70c8b2612624c323f89dc"
-
-DEPENDS = "dbus zlib pigz-native"
-do_unpack[depends] += "pigz-native:do_populate_sysroot"
-
-# FIX ME
-# This should be TAG = "v${PV}" but yocto doesn't support lightweight tags for now
-# https://bugzilla.yoctoproject.org/show_bug.cgi?id=6881
-TAG = "b8b3ea3a31f7deb681941a19878c82e7b7350ae7"
-BRANCH = "v2.11.x"
-SRC_URI = "git://git.projects.genivi.org/${PN}.git;branch=${BRANCH};tag=${TAG} \
- file://0001-Fix-build-with-systemd-209.patch \
- file://0002-Don-t-execute-processes-as-a-specific-user.patch \
- file://0003-systemd-unit-type-should-be-in-lowercase-so-use-Type.patch \
- file://0004-Modify-systemd-config-directory.patch"
-S = "${WORKDIR}/git"
-
-inherit autotools gettext cmake systemd
-
-# -fPIC is needed to prevent relocation errors when we compile gtest with
-# Yocto security flags. See this issue for more details:
-#
-# https://github.com/google/googletest/issues/854
-#
-# If that issue is fixed, we can probably remove the manual -fPIC flags here.
-OECMAKE_C_FLAGS += "-fPIC"
-OECMAKE_CXX_FLAGS += "-fPIC"
-
-PACKAGES += "${PN}-systemd"
-SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \
- dlt-dbus.service \
- dlt-adaptor-udp.service \
- dlt-receive.service"
-SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable"
-
-EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON"
-
-FILES_${PN}-doc += "/usr/share/dlt-filetransfer"
diff --git a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb b/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb
deleted file mode 100644
index dbc87c9ac..000000000
--- a/meta-agl-profile-demo/recipes-extended/dlt-daemon/dlt-daemon_2.15.0.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY = "Diagnostic Log and Trace"
-DESCRIPTION = "This component provides a standardised log and trace interface, \
-based on the standardised protocol specified in the AUTOSAR standard 4.0 DLT. \
-This component can be used by GENIVI components and other applications as \
-logging facility providing: \
-- the DLT shared library \
-- the DLT daemon, including startup scripts \
-- the DLT daemon adaptors- the DLT client console utilities \
-- the DLT test applications"
-HOMEPAGE = "https://www.genivi.org/"
-SECTION = "console/utils"
-LICENSE = "MPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8184208060df880fe3137b93eb88aeea"
-
-DEPENDS = "dbus zlib pigz-native"
-do_unpack[depends] += "pigz-native:do_populate_sysroot"
-
-SRCREV = "e9a486a08fff6d3cc7133a350cec3ee10f463207"
-SRC_URI = "git://git.projects.genivi.org/${BPN}.git;protocol=http \
- file://0002-Don-t-execute-processes-as-a-specific-user.patch \
- file://0004-Modify-systemd-config-directory.patch \
- "
-S = "${WORKDIR}/git"
-
-inherit autotools gettext cmake systemd
-
-# -fPIC is needed to prevent relocation errors when we compile gtest with
-# Yocto security flags. See this issue for more details:
-#
-# https://github.com/google/googletest/issues/854
-#
-# If that issue is fixed, we can probably remove the manual -fPIC flags here.
-OECMAKE_C_FLAGS += "-fPIC"
-OECMAKE_CXX_FLAGS += "-fPIC"
-
-PACKAGES += "${PN}-systemd"
-SYSTEMD_PACKAGES = "${PN} ${PN}-systemd"
-SYSTEMD_SERVICE_${PN} = "dlt-system.service dlt.service"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-SYSTEMD_SERVICE_${PN}-systemd = "dlt-example-user.service \
- dlt-dbus.service \
- dlt-adaptor-udp.service \
- dlt-receive.service"
-SYSTEMD_AUTO_ENABLE_${PN}-systemd = "disable"
-
-EXTRA_OECMAKE = "-DWITH_SYSTEMD=ON"
-
-FILES_${PN}-doc += "/usr/share/dlt-filetransfer"
-
-do_install_append() {
- rm -f ${D}${bindir}/dlt-test-*
-}
diff --git a/meta-agl-profile-demo/recipes-kernel/mocca-usb/mocca-usb.bb b/meta-agl-profile-demo/recipes-kernel/mocca-usb/mocca-usb.bb
deleted file mode 100644
index cf4e5856b..000000000
--- a/meta-agl-profile-demo/recipes-kernel/mocca-usb/mocca-usb.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "Build USB driver for MOCCA box"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-inherit module
-
-PV = "0.1"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/can-lin/;protocol=https;branch=${AGL_BRANCH}"
-S = "${WORKDIR}/git/Usb-Driver"
-SRCREV = "02ba272c0eb51b06160307b6cb71f91684772c8c"
-
-# The inherit of module.bbclass will automatically name module packages with
-# "kernel-module-" prefix as required by the oe-core build environment.
-
-do_install_append () {
- # modprobe automatically at boot
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${sysconfdir}/modules-load.d
- echo "mocca_usb" > ${D}${sysconfdir}/modules-load.d/mocca_usb.conf
- fi
-}
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch
deleted file mode 100644
index dd811c81b..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0002-src-most-add-auto-conf-feature.patch
+++ /dev/null
@@ -1,472 +0,0 @@
-From 9cb7cb85f59509ac445116e9458c502cf6cb74e6 Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Thu, 9 Nov 2017 13:20:23 +0100
-Subject: [PATCH 2/2] src: most: add auto conf feature
-
-This patch adds the auto configuration feature to the driver
-sources. It is needed to have the driver configured automatically
-upon start up w/o the need for userspace to set up sysfs.
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/Makefile | 3 +
- driver/default_conf.c | 162 ++++++++++++++++++++++++++++++++++++++++++++++
- driver/include/mostcore.h | 64 ++++++++++++++++++
- driver/mostcore/core.c | 120 ++++++++++++++++++++++++++++------
- 4 files changed, 331 insertions(+), 18 deletions(-)
- create mode 100644 driver/default_conf.c
-
-diff --git a/Makefile b/Makefile
-index e77a4b6..6d74ebe 100644
---- a/Makefile
-+++ b/Makefile
-@@ -6,6 +6,9 @@ obj-m := mostcore.o
- mostcore-y := mostcore/core.o
- CFLAGS_core.o := -I$(src)/include/
-
-+obj-m += default_conf.o
-+CFLAGL_default_conf.o := -I$(src)/include
-+
- obj-m += aim_cdev.o
- aim_cdev-y := aim-cdev/cdev.o
- CFLAGS_cdev.o := -I$(src)/include/
-diff --git a/default_conf.c b/default_conf.c
-new file mode 100644
-index 0000000..adb1786
---- /dev/null
-+++ b/default_conf.c
-@@ -0,0 +1,162 @@
-+/*
-+ * default_conf.c - Default configuration for the MOST channels.
-+ *
-+ * Copyright (C) 2017, Microchip Technology Germany II GmbH & Co. KG
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * This file is licensed under GPLv2.
-+ */
-+
-+#include "include/mostcore.h"
-+#include <linux/module.h>
-+
-+static struct most_config_probe config_probes[] = {
-+
-+ /* OS81118 Control */
-+ {
-+ .ch_name = "ep8f",
-+ .cfg = {
-+ .direction = MOST_CH_RX,
-+ .data_type = MOST_CH_CONTROL,
-+ .num_buffers = 16,
-+ .buffer_size = 64,
-+ },
-+ .aim_name = "cdev",
-+ .aim_param = "inic-usb-crx",
-+ },
-+ {
-+ .ch_name = "ep0f",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_CONTROL,
-+ .num_buffers = 16,
-+ .buffer_size = 64,
-+ },
-+ .aim_name = "cdev",
-+ .aim_param = "inic-usb-ctx",
-+ },
-+ /* OS81118 Async */
-+ {
-+ .ch_name = "ep8e",
-+ .cfg = {
-+ .direction = MOST_CH_RX,
-+ .data_type = MOST_CH_ASYNC,
-+ .num_buffers = 20,
-+ .buffer_size = 1522,
-+ },
-+ .aim_name = "networking",
-+ .aim_param = "inic-usb-arx",
-+ },
-+ {
-+ .ch_name = "ep0e",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_ASYNC,
-+ .num_buffers = 20,
-+ .buffer_size = 1522,
-+ },
-+ .aim_name = "networking",
-+ .aim_param = "inic-usb-atx",
-+ },
-+ /* OS81210 Control */
-+ {
-+ .ch_name = "ep87",
-+ .cfg = {
-+ .direction = MOST_CH_RX,
-+ .data_type = MOST_CH_CONTROL,
-+ .num_buffers = 16,
-+ .buffer_size = 64,
-+ },
-+ .aim_name = "cdev",
-+ .aim_param = "inic-usb-crx",
-+ },
-+ {
-+ .ch_name = "ep07",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_CONTROL,
-+ .num_buffers = 16,
-+ .buffer_size = 64,
-+ },
-+ .aim_name = "cdev",
-+ .aim_param = "inic-usb-ctx",
-+ },
-+ /* OS81210 Async */
-+ {
-+ .ch_name = "ep86",
-+ .cfg = {
-+ .direction = MOST_CH_RX,
-+ .data_type = MOST_CH_ASYNC,
-+ .num_buffers = 20,
-+ .buffer_size = 1522,
-+ },
-+ .aim_name = "networking",
-+ .aim_param = "inic-usb-arx",
-+ },
-+ {
-+ .ch_name = "ep06",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_ASYNC,
-+ .num_buffers = 20,
-+ .buffer_size = 1522,
-+ },
-+ .aim_name = "networking",
-+ .aim_param = "inic-usb-atx",
-+ },
-+ /* Streaming channels (common for all INICs) */
-+ {
-+ .ch_name = "ep01",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_SYNC,
-+ .num_buffers = 8,
-+ .buffer_size = 2 * 12 * 42,
-+ .subbuffer_size = 12,
-+ .packets_per_xact = 42,
-+ },
-+ .aim_name = "sound",
-+ .aim_param = "ep01-6ch.6x16",
-+ },
-+ {
-+ .ch_name = "ep02",
-+ .cfg = {
-+ .direction = MOST_CH_TX,
-+ .data_type = MOST_CH_ISOC,
-+ .num_buffers = 8,
-+ .buffer_size = 40 * 188,
-+ .subbuffer_size = 188,
-+ .packets_per_xact = 2,
-+ },
-+ .aim_name = "cdev",
-+ .aim_param = "inic-usb-itx1",
-+ },
-+
-+ /* sentinel */
-+ {}
-+};
-+
-+static struct most_config_set config_set = {
-+ .probes = config_probes
-+};
-+
-+static int __init mod_init(void)
-+{
-+ most_register_config_set(&config_set);
-+ return 0;
-+}
-+
-+static void __exit mod_exit(void)
-+{
-+ most_deregister_config_set(&config_set);
-+}
-+
-+module_init(mod_init);
-+module_exit(mod_exit);
-+MODULE_LICENSE("GPL");
-+MODULE_AUTHOR("Andrey Shvetsov <andrey.shvetsov@k2l.de>");
-+MODULE_DESCRIPTION("Default configuration for the MOST channels");
-diff --git a/include/mostcore.h b/include/mostcore.h
-index dc87121..3c00efb 100644
---- a/include/mostcore.h
-+++ b/include/mostcore.h
-@@ -145,6 +145,39 @@ struct most_channel_config {
- u16 dbr_size;
- };
-
-+/**
-+ * struct most_config_probe - matching rule, channel configuration and
-+ * the optional AIM name used for the automatic configuration and linking
-+ * of the channel
-+ * @dev_name: optional matching device id
-+ * ("usb_device 1-1:1.0," "dim2-12345678", etc.)
-+ * @ch_name: matching channel name ("ep8f", "ca2", etc.)
-+ * @cfg: configuration that will be applied for the found channel
-+ * @aim_name: optional name of the AIM that will be linked to the channel
-+ * ("cdev", "networking", "v4l", "sound")
-+ * @aim_param: AIM dependent parameter (it is the character device name
-+ * for the cdev AIM, PCM format for the audio AIM, etc.)
-+ */
-+struct most_config_probe {
-+ const char *dev_name;
-+ const char *ch_name;
-+ struct most_channel_config cfg;
-+ const char *aim_name;
-+ const char *aim_param;
-+};
-+
-+/**
-+ * struct most_config_set - the configuration set containing
-+ * several automatic configurations for the different channels
-+ * @probes: list of the matching rules and the configurations,
-+ * that must be ended with the empty structure
-+ * @list: list head used by the MostCore
-+ */
-+struct most_config_set {
-+ const struct most_config_probe *probes;
-+ struct list_head list;
-+};
-+
- /*
- * struct mbo - MOST Buffer Object.
- * @context: context for core completion handler
-@@ -285,6 +318,37 @@ struct most_aim {
- };
-
- /**
-+ * most_register_config_set - registers the configuration set
-+ *
-+ * @cfg_set: configuration set to be registered for the future probes
-+ *
-+ * The function registers the given configuration set.
-+ *
-+ * It is possible to register or deregister several configuration sets
-+ * independently. Different configuration sets may contain the
-+ * overlapped matching rules but later registered configuration set has
-+ * the higher priority over the prior registered set.
-+ *
-+ * The only the first matched configuration is applied for each
-+ * channel.
-+ *
-+ * The configuration for the channel is applied at the time of
-+ * registration of the parent most_interface.
-+ */
-+void most_register_config_set(struct most_config_set *cfg_set);
-+
-+/**
-+ * most_deregister_config_set - deregisters the prior registered
-+ * configuration set
-+ *
-+ * @cfg_set: configuration set to be deregistered
-+ *
-+ * The calling of this function does not change the current
-+ * configuration of the channels.
-+ */
-+void most_deregister_config_set(struct most_config_set *cfg_set);
-+
-+/**
- * most_register_interface - Registers instance of the interface.
- * @iface: Pointer to the interface instance description.
- *
-diff --git a/mostcore/core.c b/mostcore/core.c
-index 9e0a352..6035cf0 100644
---- a/mostcore/core.c
-+++ b/mostcore/core.c
-@@ -36,6 +36,8 @@ static struct class *most_class;
- static struct device *core_dev;
- static struct ida mdev_id;
- static int dummy_num_buffers;
-+static struct list_head config_probes;
-+struct mutex config_probes_mt; /* config_probes */
-
- struct most_c_aim_obj {
- struct most_aim *ptr;
-@@ -918,6 +920,30 @@ most_c_obj *get_channel_by_name(char *mdev, char *mdev_ch)
- return c;
- }
-
-+static int link_channel_to_aim(struct most_c_obj *c, struct most_aim *aim,
-+ char *aim_param)
-+{
-+ int ret;
-+ struct most_aim **aim_ptr;
-+
-+ if (!c->aim0.ptr)
-+ aim_ptr = &c->aim0.ptr;
-+ else if (!c->aim1.ptr)
-+ aim_ptr = &c->aim1.ptr;
-+ else
-+ return -ENOSPC;
-+
-+ *aim_ptr = aim;
-+ ret = aim->probe_channel(c->iface, c->channel_id,
-+ &c->cfg, &c->kobj, aim_param);
-+ if (ret) {
-+ *aim_ptr = NULL;
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
- /**
- * add_link_store - store() function for add_link attribute
- * @aim_obj: pointer to AIM object
-@@ -946,45 +972,33 @@ static ssize_t add_link_store(struct most_aim_obj *aim_obj,
- size_t len)
- {
- struct most_c_obj *c;
-- struct most_aim **aim_ptr;
- char buffer[STRING_SIZE];
- char *mdev;
- char *mdev_ch;
-- char *mdev_devnod;
-+ char *aim_param;
- char devnod_buf[STRING_SIZE];
- int ret;
- size_t max_len = min_t(size_t, len + 1, STRING_SIZE);
-
- strlcpy(buffer, buf, max_len);
-
-- ret = split_string(buffer, &mdev, &mdev_ch, &mdev_devnod);
-+ ret = split_string(buffer, &mdev, &mdev_ch, &aim_param);
- if (ret)
- return ret;
-
-- if (!mdev_devnod || *mdev_devnod == 0) {
-+ if (!aim_param || *aim_param == 0) {
- snprintf(devnod_buf, sizeof(devnod_buf), "%s-%s", mdev,
- mdev_ch);
-- mdev_devnod = devnod_buf;
-+ aim_param = devnod_buf;
- }
-
- c = get_channel_by_name(mdev, mdev_ch);
- if (IS_ERR(c))
- return -ENODEV;
-
-- if (!c->aim0.ptr)
-- aim_ptr = &c->aim0.ptr;
-- else if (!c->aim1.ptr)
-- aim_ptr = &c->aim1.ptr;
-- else
-- return -ENOSPC;
--
-- *aim_ptr = aim_obj->driver;
-- ret = aim_obj->driver->probe_channel(c->iface, c->channel_id,
-- &c->cfg, &c->kobj, mdev_devnod);
-- if (ret) {
-- *aim_ptr = NULL;
-+ ret = link_channel_to_aim(c, aim_obj->driver, aim_param);
-+ if (ret)
- return ret;
-- }
-
- return len;
- }
-@@ -1679,6 +1693,73 @@ int most_deregister_aim(struct most_aim *aim)
- }
- EXPORT_SYMBOL_GPL(most_deregister_aim);
-
-+void most_register_config_set(struct most_config_set *cfg_set)
-+{
-+ mutex_lock(&config_probes_mt);
-+ list_add(&cfg_set->list, &config_probes);
-+ mutex_unlock(&config_probes_mt);
-+}
-+EXPORT_SYMBOL(most_register_config_set);
-+
-+void most_deregister_config_set(struct most_config_set *cfg_set)
-+{
-+ mutex_lock(&config_probes_mt);
-+ list_del(&cfg_set->list);
-+ mutex_unlock(&config_probes_mt);
-+}
-+EXPORT_SYMBOL(most_deregister_config_set);
-+
-+static int probe_aim(struct most_c_obj *c,
-+ const char *aim_name, const char *aim_param)
-+{
-+ struct most_aim_obj *aim_obj;
-+ char buf[STRING_SIZE];
-+
-+ list_for_each_entry(aim_obj, &aim_list, list) {
-+ if (!strcmp(aim_obj->driver->name, aim_name)) {
-+ strlcpy(buf, aim_param ? aim_param : "", sizeof(buf));
-+ return link_channel_to_aim(c, aim_obj->driver, buf);
-+ }
-+ }
-+ return 0;
-+}
-+
-+static bool probe_config_set(struct most_c_obj *c,
-+ const char *dev_name, const char *ch_name,
-+ const struct most_config_probe *p)
-+{
-+ int err;
-+
-+ for (; p->ch_name; p++) {
-+ if ((p->dev_name && strcmp(dev_name, p->dev_name)) ||
-+ strcmp(ch_name, p->ch_name))
-+ continue;
-+
-+ c->cfg = p->cfg;
-+ if (p->aim_name) {
-+ err = probe_aim(c, p->aim_name, p->aim_param);
-+ if (err)
-+ pr_err("failed to autolink %s to %s: %d\n",
-+ ch_name, p->aim_name, err);
-+ }
-+ return true;
-+ }
-+ return false;
-+}
-+
-+static void find_configuration(struct most_c_obj *c, const char *dev_name,
-+ const char *ch_name)
-+{
-+ struct most_config_set *plist;
-+
-+ mutex_lock(&config_probes_mt);
-+ list_for_each_entry(plist, &config_probes, list) {
-+ if (probe_config_set(c, dev_name, ch_name, plist->probes))
-+ break;
-+ }
-+ mutex_unlock(&config_probes_mt);
-+}
-+
- /**
- * most_register_interface - registers an interface with core
- * @iface: pointer to the instance of the interface description.
-@@ -1777,6 +1858,7 @@ struct kobject *most_register_interface(struct most_interface *iface)
- mutex_init(&c->start_mutex);
- mutex_init(&c->nq_mutex);
- list_add_tail(&c->list, &inst->channel_list);
-+ find_configuration(c, iface->description, channel_name);
- }
- pr_info("registered new MOST device mdev%d (%s)\n",
- inst->dev_id, iface->description);
-@@ -1880,6 +1962,8 @@ static int __init most_init(void)
- pr_info("init()\n");
- INIT_LIST_HEAD(&instance_list);
- INIT_LIST_HEAD(&aim_list);
-+ INIT_LIST_HEAD(&config_probes);
-+ mutex_init(&config_probes_mt);
- ida_init(&mdev_id);
-
- err = bus_register(&most_bus);
---
-2.7.4
-
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch
deleted file mode 100644
index 4703844a1..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0003-core-remove-kernel-log-for-MBO-status.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b269994be937cbb31c0d73ecc899ca8a545a6a4a Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 11:09:17 +0200
-Subject: [PATCH 3/5] core: remove kernel log for MBO status
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/mostcore/core.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/mostcore/core.c b/mostcore/core.c
-index 931efb9..595becc 100644
---- a/mostcore/core.c
-+++ b/mostcore/core.c
-@@ -1348,8 +1348,6 @@ static void most_write_completion(struct mbo *mbo)
- BUG_ON((!mbo) || (!mbo->context));
-
- c = mbo->context;
-- if (mbo->status == MBO_E_INVAL)
-- pr_info("WARN: Tx MBO status: invalid\n");
- if (unlikely(c->is_poisoned || (mbo->status == MBO_E_CLOSE)))
- trash_mbo(mbo);
- else
---
-2.7.4
-
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0004-most-video-set-device_caps.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0004-most-video-set-device_caps.patch
deleted file mode 100644
index 010d4b0d0..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0004-most-video-set-device_caps.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a5fd2ae8d4a3b2a8f7a33a4ea469ea7ee0d946ef Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 15:36:38 +0200
-Subject: [PATCH 4/5] most: video: set device_caps
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/aim-v4l2/video.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/aim-v4l2/video.c b/aim-v4l2/video.c
-index e074841..6405a03 100644
---- a/aim-v4l2/video.c
-+++ b/aim-v4l2/video.c
-@@ -263,6 +263,7 @@ static int vidioc_querycap(struct file *file, void *priv,
- snprintf(cap->bus_info, sizeof(cap->bus_info),
- "%s", mdev->iface->description);
-
-+ cap->device_caps =
- cap->capabilities =
- V4L2_CAP_READWRITE |
- V4L2_CAP_TUNER |
---
-2.7.4
-
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch
deleted file mode 100644
index ebaee9e14..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7518453386ad3e82008186a6c9ca86ed8c136801 Mon Sep 17 00:00:00 2001
-From: Christian Gromm <christian.gromm@microchip.com>
-Date: Mon, 4 Sep 2017 16:08:38 +0200
-Subject: [PATCH 5/5] most: video: set V4L2_CAP_DEVICE_CAPS flag
-
-Signed-off-by: Christian Gromm <christian.gromm@microchip.com>
----
- driver/aim-v4l2/video.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/aim-v4l2/video.c b/aim-v4l2/video.c
-index 6405a03..db75d4d 100644
---- a/aim-v4l2/video.c
-+++ b/aim-v4l2/video.c
-@@ -265,6 +265,7 @@ static int vidioc_querycap(struct file *file, void *priv,
-
- cap->device_caps =
- cap->capabilities =
-+ V4L2_CAP_DEVICE_CAPS |
- V4L2_CAP_READWRITE |
- V4L2_CAP_TUNER |
- V4L2_CAP_VIDEO_CAPTURE;
---
-2.7.4
-
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch
deleted file mode 100644
index 59c6ae671..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0006-dim2-fix-startup-sequence.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 63bcd9b421ae7927948bffec9566db47f40ea290 Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Tue, 30 Jan 2018 17:34:09 +0100
-Subject: [PATCH] staging: most: dim2: fix startup sequence
-
-Platform specific initializations (pdata->init) must be done before DIM2
-IP module startup (dim_startup).
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c | 90 +++++++++++++++++++++++++++++++++++++++---------------------------------------------------
- 1 file changed, 39 insertions(+), 51 deletions(-)
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 893b8e4..e4629a5 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -155,38 +155,6 @@ void dimcb_on_error(u8 error_id, const char *error_message)
- }
-
- /**
-- * startup_dim - initialize the dim2 interface
-- * @pdev: platform device
-- */
--static int startup_dim(struct platform_device *pdev)
--{
-- struct dim2_hdm *dev = platform_get_drvdata(pdev);
-- struct dim2_platform_data *pdata = pdev->dev.platform_data;
-- u8 hal_ret;
-- int ret;
--
-- if (!pdata) {
-- pr_err("missing platform data\n");
-- return -EINVAL;
-- }
--
-- ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
-- if (ret)
-- return ret;
--
-- pr_info("sync: num of frames per sub-buffer: %u\n", fcnt);
-- hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
-- if (hal_ret != DIM_NO_ERROR) {
-- pr_err("dim_startup failed: %d\n", hal_ret);
-- if (pdata && pdata->destroy)
-- pdata->destroy(pdata);
-- return -ENODEV;
-- }
--
-- return 0;
--}
--
--/**
- * try_start_dim_transfer - try to transfer a buffer on a channel
- * @hdm_ch: channel specific data
- *
-@@ -727,10 +695,12 @@ static void dma_free(struct mbo *mbo, u32 size)
- */
- static int dim2_probe(struct platform_device *pdev)
- {
-+ struct dim2_platform_data *pdata = pdev->dev.platform_data;
- struct dim2_hdm *dev;
- struct resource *res;
- int ret, i;
- struct kobject *kobj;
-+ u8 hal_ret;
- int irq;
-
- dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
-@@ -745,38 +715,59 @@ static int dim2_probe(struct platform_device *pdev)
- if (IS_ERR(dev->io_base))
- return PTR_ERR(dev->io_base);
-
-+ if (!pdata) {
-+ dev_err(&pdev->dev, "missing platform data\n");
-+ return -EINVAL;
-+ }
-+
-+ ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
-+ if (ret)
-+ return ret;
-+
-+ dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n", fcnt);
-+ hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
-+ if (hal_ret != DIM_NO_ERROR) {
-+ dev_err(&pdev->dev, "dim_startup failed: %d\n", hal_ret);
-+ ret = -ENODEV;
-+ goto err_bsp_destroy;
-+ }
-+
- irq = platform_get_irq(pdev, 0);
- if (irq < 0) {
- dev_err(&pdev->dev, "failed to get ahb0_int irq: %d\n", irq);
-- return irq;
-+ ret = irq;
-+ goto err_shutdown_dim;
- }
-
- ret = devm_request_irq(&pdev->dev, irq, dim2_ahb_isr, 0,
- "dim2_ahb0_int", dev);
- if (ret) {
- dev_err(&pdev->dev, "failed to request ahb0_int irq %d\n", irq);
-- return ret;
-+ goto err_shutdown_dim;
- }
-
- irq = platform_get_irq(pdev, 1);
- if (irq < 0) {
- dev_err(&pdev->dev, "failed to get mlb_int irq: %d\n", irq);
-- return irq;
-+ ret = irq;
-+ goto err_shutdown_dim;
- }
-
- ret = devm_request_irq(&pdev->dev, irq, dim2_mlb_isr, 0,
- "dim2_mlb_int", dev);
- if (ret) {
- dev_err(&pdev->dev, "failed to request mlb_int irq %d\n", irq);
-- return ret;
-+ goto err_shutdown_dim;
- }
-
- init_waitqueue_head(&dev->netinfo_waitq);
- dev->deliver_netinfo = 0;
-- dev->netinfo_task = kthread_run(&deliver_netinfo_thread, (void *)dev,
-+ dev->netinfo_task = kthread_run(&deliver_netinfo_thread, dev,
- "dim2_netinfo");
-- if (IS_ERR(dev->netinfo_task))
-- return PTR_ERR(dev->netinfo_task);
-+ if (IS_ERR(dev->netinfo_task)) {
-+ ret = PTR_ERR(dev->netinfo_task);
-+ goto err_shutdown_dim;
-+ }
-
- for (i = 0; i < DMA_CHANNELS; i++) {
- struct most_channel_capability *cap = dev->capabilities + i;
-@@ -833,20 +824,17 @@ static int dim2_probe(struct platform_device *pdev)
- if (ret)
- goto err_unreg_iface;
-
-- ret = startup_dim(pdev);
-- if (ret) {
-- dev_err(&pdev->dev, "failed to initialize DIM2\n");
-- goto err_destroy_bus;
-- }
--
- return 0;
-
--err_destroy_bus:
-- dim2_sysfs_destroy(&dev->bus);
- err_unreg_iface:
- most_deregister_interface(&dev->most_iface);
- err_stop_thread:
- kthread_stop(dev->netinfo_task);
-+err_shutdown_dim:
-+ dim_shutdown();
-+err_bsp_destroy:
-+ if (pdata && pdata->destroy)
-+ pdata->destroy(pdata);
-
- return ret;
- }
-@@ -863,6 +851,10 @@ static int dim2_remove(struct platform_device *pdev)
- struct dim2_platform_data *pdata = pdev->dev.platform_data;
- unsigned long flags;
-
-+ dim2_sysfs_destroy(&dev->bus);
-+ most_deregister_interface(&dev->most_iface);
-+ kthread_stop(dev->netinfo_task);
-+
- spin_lock_irqsave(&dim_lock, flags);
- dim_shutdown();
- spin_unlock_irqrestore(&dim_lock, flags);
-@@ -870,10 +862,6 @@ static int dim2_remove(struct platform_device *pdev)
- if (pdata && pdata->destroy)
- pdata->destroy(pdata);
-
-- dim2_sysfs_destroy(&dev->bus);
-- most_deregister_interface(&dev->most_iface);
-- kthread_stop(dev->netinfo_task);
--
- /*
- * break link to local platform_device_id struct
- * to prevent crash by unload platform device module
---
-libgit2 0.26.0
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0007-dim2-use-device-tree.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0007-dim2-use-device-tree.patch
deleted file mode 100644
index 679fab79c..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0007-dim2-use-device-tree.patch
+++ /dev/null
@@ -1,378 +0,0 @@
-From 8e16207392cd715ea88f6780981a3d55ab005588 Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:23:37 +0100
-Subject: [PATCH] staging: most: dim2: use device tree
-
-Current dim2 driver expects the existence of a platform driver that
-implements the platform specific initialization and delivery of the irq
-numbers.
-
-This patch integrates the device tree activity and platform specific
-code into the driver.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
- hdm-dim2/dim2_hdm.h | 28 ----------------------------
- hdm-dim2/platform/dim2_arwen_mlb3.c | 165 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_arwen_mlb6.c | 169 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_h2_dt.c | 227 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_mx6q.c | 192 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- hdm-dim2/platform/dim2_mx6q_dt.c | 224 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 7 files changed, 193 insertions(+), 1034 deletions(-)
- delete mode 100644 hdm-dim2/dim2_hdm.h
- delete mode 100644 hdm-dim2/platform/dim2_arwen_mlb3.c
- delete mode 100644 hdm-dim2/platform/dim2_arwen_mlb6.c
- delete mode 100644 hdm-dim2/platform/dim2_h2_dt.c
- delete mode 100644 hdm-dim2/platform/dim2_mx6q.c
- delete mode 100644 hdm-dim2/platform/dim2_mx6q_dt.c
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index e4629a5..2dba917 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -14,6 +14,7 @@
- #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
- #include <linux/module.h>
-+#include <linux/of_platform.h>
- #include <linux/printk.h>
- #include <linux/kernel.h>
- #include <linux/init.h>
-@@ -21,13 +22,13 @@
- #include <linux/interrupt.h>
- #include <linux/slab.h>
- #include <linux/io.h>
-+#include <linux/clk.h>
- #include <linux/dma-mapping.h>
- #include <linux/sched.h>
- #include <linux/kthread.h>
-
- #include <mostcore.h>
- #include "dim2_hal.h"
--#include "dim2_hdm.h"
- #include "dim2_errors.h"
- #include "dim2_sysfs.h"
-
-@@ -93,6 +94,9 @@ struct dim2_hdm {
- struct most_interface most_iface;
- char name[16 + sizeof "dim2-"];
- void __iomem *io_base;
-+ u8 clk_speed;
-+ struct clk *clk;
-+ struct clk *clk_pll;
- struct task_struct *netinfo_task;
- wait_queue_head_t netinfo_waitq;
- int deliver_netinfo;
-@@ -102,6 +106,12 @@ struct dim2_hdm {
- struct medialb_bus bus;
- void (*on_netinfo)(struct most_interface *,
- unsigned char, unsigned char *);
-+ void (*disable_platform)(struct platform_device *);
-+};
-+
-+struct dim2_platform_data {
-+ int (*enable)(struct platform_device *);
-+ void (*disable)(struct platform_device *);
- };
-
- #define iface_to_hdm(iface) container_of(iface, struct dim2_hdm, most_iface)
-@@ -686,6 +696,8 @@ static void dma_free(struct mbo *mbo, u32 size)
- dma_free_coherent(NULL, size, mbo->virt_address, mbo->bus_address);
- }
-
-+static const struct of_device_id dim2_of_match[];
-+
- /*
- * dim2_probe - dim2 probe handler
- * @pdev: platform device structure
-@@ -695,7 +707,7 @@ static void dma_free(struct mbo *mbo, u32 size)
- */
- static int dim2_probe(struct platform_device *pdev)
- {
-- struct dim2_platform_data *pdata = pdev->dev.platform_data;
-+ const struct dim2_platform_data *pdata;
- struct dim2_hdm *dev;
- struct resource *res;
- int ret, i;
-@@ -703,6 +715,8 @@ static int dim2_probe(struct platform_device *pdev)
- u8 hal_ret;
- int irq;
-
-+ enum { MLB_INT_IDX, AHB0_INT_IDX };
-+
- dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
- if (!dev)
- return -ENOMEM;
-@@ -710,29 +724,30 @@ static int dim2_probe(struct platform_device *pdev)
- dev->atx_idx = -1;
-
- platform_set_drvdata(pdev, dev);
-+
-+ dev->clk_speed = CLK_4096FS;
-+
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- dev->io_base = devm_ioremap_resource(&pdev->dev, res);
- if (IS_ERR(dev->io_base))
- return PTR_ERR(dev->io_base);
-
-- if (!pdata) {
-- dev_err(&pdev->dev, "missing platform data\n");
-- return -EINVAL;
-- }
--
-- ret = pdata->init ? pdata->init(pdata, dev->io_base) : 0;
-+ pdata = of_match_node(dim2_of_match, pdev->dev.of_node)->data;
-+ ret = pdata && pdata->enable ? pdata->enable(pdev) : 0;
- if (ret)
- return ret;
-
-+ dev->disable_platform = pdata ? pdata->disable : 0;
-+
- dev_info(&pdev->dev, "sync: num of frames per sub-buffer: %u\n", fcnt);
-- hal_ret = dim_startup(dev->io_base, pdata->clk_speed, fcnt);
-+ hal_ret = dim_startup(dev->io_base, dev->clk_speed, fcnt);
- if (hal_ret != DIM_NO_ERROR) {
- dev_err(&pdev->dev, "dim_startup failed: %d\n", hal_ret);
- ret = -ENODEV;
-- goto err_bsp_destroy;
-+ goto err_disable_platform;
- }
-
-- irq = platform_get_irq(pdev, 0);
-+ irq = platform_get_irq(pdev, AHB0_INT_IDX);
- if (irq < 0) {
- dev_err(&pdev->dev, "failed to get ahb0_int irq: %d\n", irq);
- ret = irq;
-@@ -746,7 +761,7 @@ static int dim2_probe(struct platform_device *pdev)
- goto err_shutdown_dim;
- }
-
-- irq = platform_get_irq(pdev, 1);
-+ irq = platform_get_irq(pdev, MLB_INT_IDX);
- if (irq < 0) {
- dev_err(&pdev->dev, "failed to get mlb_int irq: %d\n", irq);
- ret = irq;
-@@ -832,9 +847,9 @@ static int dim2_probe(struct platform_device *pdev)
- kthread_stop(dev->netinfo_task);
- err_shutdown_dim:
- dim_shutdown();
--err_bsp_destroy:
-- if (pdata && pdata->destroy)
-- pdata->destroy(pdata);
-+err_disable_platform:
-+ if (dev->disable_platform)
-+ dev->disable_platform(pdev);
-
- return ret;
- }
-@@ -848,7 +863,6 @@ static int dim2_probe(struct platform_device *pdev)
- static int dim2_remove(struct platform_device *pdev)
- {
- struct dim2_hdm *dev = platform_get_drvdata(pdev);
-- struct dim2_platform_data *pdata = pdev->dev.platform_data;
- unsigned long flags;
-
- dim2_sysfs_destroy(&dev->bus);
-@@ -859,37 +873,187 @@ static int dim2_remove(struct platform_device *pdev)
- dim_shutdown();
- spin_unlock_irqrestore(&dim_lock, flags);
-
-- if (pdata && pdata->destroy)
-- pdata->destroy(pdata);
-+ if (dev->disable_platform)
-+ dev->disable_platform(pdev);
-+
-+ return 0;
-+}
-+
-+/* platform specific functions [[ */
-+
-+static int fsl_mx6_enable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+ int ret;
-+
-+ dev->clk = devm_clk_get(&pdev->dev, "mlb");
-+ if (IS_ERR_OR_NULL(dev->clk)) {
-+ dev_err(&pdev->dev, "unable to get mlb clock\n");
-+ return -EFAULT;
-+ }
-+
-+ ret = clk_prepare_enable(dev->clk);
-+ if (ret) {
-+ dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+ return ret;
-+ }
-+
-+ if (dev->clk_speed >= CLK_2048FS) {
-+ /* enable pll */
-+ dev->clk_pll = devm_clk_get(&pdev->dev, "pll8_mlb");
-+ if (IS_ERR_OR_NULL(dev->clk_pll)) {
-+ dev_err(&pdev->dev, "unable to get mlb pll clock\n");
-+ clk_disable_unprepare(dev->clk);
-+ return -EFAULT;
-+ }
-+
-+ writel(0x888, dev->io_base + 0x38);
-+ clk_prepare_enable(dev->clk_pll);
-+ }
-+
-+ return 0;
-+}
-+
-+static void fsl_mx6_disable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+ if (dev->clk_speed >= CLK_2048FS)
-+ clk_disable_unprepare(dev->clk_pll);
-+
-+ clk_disable_unprepare(dev->clk);
-+}
-+
-+static int rcar_h2_enable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+ int ret;
-+
-+ dev->clk = devm_clk_get(&pdev->dev, NULL);
-+ if (IS_ERR(dev->clk)) {
-+ dev_err(&pdev->dev, "cannot get clock\n");
-+ return PTR_ERR(dev->clk);
-+ }
-+
-+ ret = clk_prepare_enable(dev->clk);
-+ if (ret) {
-+ dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+ return ret;
-+ }
-+
-+ if (dev->clk_speed >= CLK_2048FS) {
-+ /* enable MLP pll and LVDS drivers */
-+ writel(0x03, dev->io_base + 0x600);
-+ /* set bias */
-+ writel(0x888, dev->io_base + 0x38);
-+ } else {
-+ /* PLL */
-+ writel(0x04, dev->io_base + 0x600);
-+ }
-+
-
-- /*
-- * break link to local platform_device_id struct
-- * to prevent crash by unload platform device module
-- */
-- pdev->id_entry = NULL;
-+ /* BBCR = 0b11 */
-+ writel(0x03, dev->io_base + 0x500);
-+ writel(0x0002FF02, dev->io_base + 0x508);
-
- return 0;
- }
-
--static const struct platform_device_id dim2_id[] = {
-- { "medialb_dim2" },
-- { }, /* Terminating entry */
-+static void rcar_h2_disable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+ clk_disable_unprepare(dev->clk);
-+
-+ /* disable PLLs and LVDS drivers */
-+ writel(0x0, dev->io_base + 0x600);
-+}
-+
-+static int rcar_m3_enable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+ u32 enable_512fs = dev->clk_speed == CLK_512FS;
-+ int ret;
-+
-+ dev->clk = devm_clk_get(&pdev->dev, NULL);
-+ if (IS_ERR(dev->clk)) {
-+ dev_err(&pdev->dev, "cannot get clock\n");
-+ return PTR_ERR(dev->clk);
-+ }
-+
-+ ret = clk_prepare_enable(dev->clk);
-+ if (ret) {
-+ dev_err(&pdev->dev, "%s\n", "clk_prepare_enable failed");
-+ return ret;
-+ }
-+
-+ /* PLL */
-+ writel(0x04, dev->io_base + 0x600);
-+
-+ writel(enable_512fs, dev->io_base + 0x604);
-+
-+ /* BBCR = 0b11 */
-+ writel(0x03, dev->io_base + 0x500);
-+ writel(0x0002FF02, dev->io_base + 0x508);
-+
-+ return 0;
-+}
-+
-+static void rcar_m3_disable(struct platform_device *pdev)
-+{
-+ struct dim2_hdm *dev = platform_get_drvdata(pdev);
-+
-+ clk_disable_unprepare(dev->clk);
-+
-+ /* disable PLLs and LVDS drivers */
-+ writel(0x0, dev->io_base + 0x600);
-+}
-+
-+/* ]] platform specific functions */
-+
-+enum dim2_platforms { FSL_MX6, RCAR_H2, RCAR_M3 };
-+
-+static struct dim2_platform_data plat_data[] = {
-+ [FSL_MX6] = { .enable = fsl_mx6_enable, .disable = fsl_mx6_disable },
-+ [RCAR_H2] = { .enable = rcar_h2_enable, .disable = rcar_h2_disable },
-+ [RCAR_M3] = { .enable = rcar_m3_enable, .disable = rcar_m3_disable },
-+};
-+
-+static const struct of_device_id dim2_of_match[] = {
-+ {
-+ .compatible = "fsl,imx6q-mlb150",
-+ .data = plat_data + FSL_MX6
-+ },
-+ {
-+ .compatible = "renesas,mlp",
-+ .data = plat_data + RCAR_H2
-+ },
-+ {
-+ .compatible = "rcar,medialb-dim2",
-+ .data = plat_data + RCAR_M3
-+ },
-+ {
-+ .compatible = "xlnx,axi4-os62420_3pin-1.00.a",
-+ },
-+ {
-+ .compatible = "xlnx,axi4-os62420_6pin-1.00.a",
-+ },
-+ {},
- };
-
--MODULE_DEVICE_TABLE(platform, dim2_id);
-+MODULE_DEVICE_TABLE(of, dim2_of_match);
-
- static struct platform_driver dim2_driver = {
- .probe = dim2_probe,
- .remove = dim2_remove,
-- .id_table = dim2_id,
- .driver = {
- .name = "hdm_dim2",
-+ .of_match_table = dim2_of_match,
- },
- };
-
- module_platform_driver(dim2_driver);
-
--MODULE_AUTHOR("Jain Roy Ambi <JainRoy.Ambi@microchip.com>");
- MODULE_AUTHOR("Andrey Shvetsov <andrey.shvetsov@k2l.de>");
- MODULE_DESCRIPTION("MediaLB DIM2 Hardware Dependent Module");
- MODULE_LICENSE("GPL");
-libgit2 0.26.0
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
deleted file mode 100644
index 1b01fb156..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0008-dim2-read-clock-speed-from-the-device-tree.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 839ad403a2d8081a6c15f6fc2836b01919338f3c Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:24:37 +0100
-Subject: [PATCH] staging: most: dim2: read clock speed from the device tree
-
-This implements reading of the clock speed parameter from the device
-tree.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- hdm-dim2/dim2_hdm.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
- 2 files changed, 113 insertions(+), 1 deletion(-)
- create mode 100644 Documentation/devicetree/bindings/inic/microchip,inic-dim2.txt
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 2dba917..05e1896 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -698,6 +698,42 @@ static void dma_free(struct mbo *mbo, u32 size)
-
- static const struct of_device_id dim2_of_match[];
-
-+static struct {
-+ const char *clock_speed;
-+ u8 clk_speed;
-+} clk_mt[] = {
-+ { "256fs", CLK_256FS },
-+ { "512fs", CLK_512FS },
-+ { "1024fs", CLK_1024FS },
-+ { "2048fs", CLK_2048FS },
-+ { "3072fs", CLK_3072FS },
-+ { "4096fs", CLK_4096FS },
-+ { "6144fs", CLK_6144FS },
-+ { "8192fs", CLK_8192FS },
-+};
-+
-+/**
-+ * get_dim2_clk_speed - converts string to DIM2 clock speed value
-+ *
-+ * @clock_speed: string in the format "{NUMBER}fs"
-+ * @val: pointer to get one of the CLK_{NUMBER}FS values
-+ *
-+ * By success stores one of the CLK_{NUMBER}FS in the *val and returns 0,
-+ * otherwise returns -EINVAL.
-+ */
-+static int get_dim2_clk_speed(const char *clock_speed, u8 *val)
-+{
-+ int i;
-+
-+ for (i = 0; i < ARRAY_SIZE(clk_mt); i++) {
-+ if (!strcmp(clock_speed, clk_mt[i].clock_speed)) {
-+ *val = clk_mt[i].clk_speed;
-+ return 0;
-+ }
-+ }
-+ return -EINVAL;
-+}
-+
- /*
- * dim2_probe - dim2 probe handler
- * @pdev: platform device structure
-@@ -708,6 +744,7 @@ static const struct of_device_id dim2_of_match[];
- static int dim2_probe(struct platform_device *pdev)
- {
- const struct dim2_platform_data *pdata;
-+ const char *clock_speed;
- struct dim2_hdm *dev;
- struct resource *res;
- int ret, i;
-@@ -725,7 +762,18 @@ static int dim2_probe(struct platform_device *pdev)
-
- platform_set_drvdata(pdev, dev);
-
-- dev->clk_speed = CLK_4096FS;
-+ ret = of_property_read_string(pdev->dev.of_node,
-+ "microchip,clock-speed", &clock_speed);
-+ if (ret) {
-+ dev_err(&pdev->dev, "missing dt property clock-speed\n");
-+ return ret;
-+ }
-+
-+ ret = get_dim2_clk_speed(clock_speed, &dev->clk_speed);
-+ if (ret) {
-+ dev_err(&pdev->dev, "bad dt property clock-speed\n");
-+ return ret;
-+ }
-
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- dev->io_base = devm_ioremap_resource(&pdev->dev, res);
---
-libgit2 0.26.0
diff --git a/meta-agl-profile-demo/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch b/meta-agl-profile-demo/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
deleted file mode 100644
index 08cd6f99d..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/files/0009-dim2-use-device-for-coherent-memory-allocation.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 756f2f1f90524c2620ed7951e436d13bdb929a6b Mon Sep 17 00:00:00 2001
-From: Andrey Shvetsov <andrey.shvetsov@k2l.de>
-Date: Mon, 12 Feb 2018 12:25:37 +0100
-Subject: [PATCH] staging: most: dim2: use device for coherent memory allocation
-
-On several modern architectures the allocation of coherent memory needs
-a device that has the dma_ops properly set. This patch enables use of
-the DIM2 platform device for the allocation process.
-
-Signed-off-by: Andrey Shvetsov <andrey.shvetsov@k2l.de>
----
- hdm-dim2/dim2_hdm.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/hdm-dim2/dim2_hdm.c b/hdm-dim2/dim2_hdm.c
-index 05e1896..1847091 100644
---- a/hdm-dim2/dim2_hdm.c
-+++ b/hdm-dim2/dim2_hdm.c
-@@ -688,12 +688,16 @@ static int poison_channel(struct most_interface *most_iface, int ch_idx)
-
- static void *dma_alloc(struct mbo *mbo, u32 size)
- {
-- return dma_alloc_coherent(NULL, size, &mbo->bus_address, GFP_KERNEL);
-+ struct device *dev = mbo->ifp->dev;
-+
-+ return dma_alloc_coherent(dev, size, &mbo->bus_address, GFP_KERNEL);
- }
-
- static void dma_free(struct mbo *mbo, u32 size)
- {
-- dma_free_coherent(NULL, size, mbo->virt_address, mbo->bus_address);
-+ struct device *dev = mbo->ifp->dev;
-+
-+ dma_free_coherent(dev, size, mbo->virt_address, mbo->bus_address);
- }
-
- static const struct of_device_id dim2_of_match[];
-@@ -875,6 +879,7 @@ static int dim2_probe(struct platform_device *pdev)
- dev->most_iface.poison_channel = poison_channel;
- dev->most_iface.request_netinfo = request_netinfo;
- dev->most_iface.extra_attrs = DBR_ATTRS;
-+ dev->most_iface.dev = &pdev->dev;
-
- kobj = most_register_interface(&dev->most_iface);
- if (IS_ERR(kobj)) {
---
-libgit2 0.26.0
diff --git a/meta-agl-profile-demo/recipes-kernel/most/most.bb b/meta-agl-profile-demo/recipes-kernel/most/most.bb
deleted file mode 100644
index 222c8aa18..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/most.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Build MOST driver"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-inherit module
-
-PV = "0.1"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/most;protocol=https;branch=${AGL_BRANCH}"
-
-S = "${WORKDIR}/git/driver"
-SRCREV = "794e6dc552e626eb6dd506baf941873414d9ef73"
-
-KERNEL_MODULE_AUTOLOAD += "aim_cdev aim_sound aim_network aim_v4l2 hdm_i2c hdm_dim2 hdm_usb mostcore" \ No newline at end of file
diff --git a/meta-agl-profile-demo/recipes-kernel/most/most.bbappend b/meta-agl-profile-demo/recipes-kernel/most/most.bbappend
deleted file mode 100644
index d85565fc2..000000000
--- a/meta-agl-profile-demo/recipes-kernel/most/most.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-
-SRC_URI_append = " \
- file://0002-src-most-add-auto-conf-feature.patch \
- file://0003-core-remove-kernel-log-for-MBO-status.patch \
- file://0004-most-video-set-device_caps.patch \
- file://0005-most-video-set-V4L2_CAP_DEVICE_CAPS-flag.patch \
- file://0006-dim2-fix-startup-sequence.patch \
- file://0007-dim2-use-device-tree.patch \
- file://0008-dim2-read-clock-speed-from-the-device-tree.patch \
- file://0009-dim2-use-device-for-coherent-memory-allocation.patch \
- "
diff --git a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch b/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch
deleted file mode 100644
index fcdf9c540..000000000
--- a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/0001-Fix-duplicated-command-line-arg-t.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c4b6030f575e38dfc9cca7dfd029d207f3af6a13 Mon Sep 17 00:00:00 2001
-From: "Andre Moreira Magalhaes (andrunko)" <andre.magalhaes@collabora.co.uk>
-Date: Thu, 5 May 2016 00:01:19 -0300
-Subject: [PATCH] Fix duplicated command line arg -t.
-
----
- AudioManagerDaemon/src/main.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp
-index 795795d..67c0977 100755
---- a/AudioManagerDaemon/src/main.cpp
-+++ b/AudioManagerDaemon/src/main.cpp
-@@ -87,7 +87,7 @@ TCLAP::ValueArg<std::string> commandPluginDir("l","CommandPluginDir","path for l
- TCLAP::ValueArg<std::string> databasePath ("p","databasePath","path for sqlite database (default is in memory)",false,":memory:","string");
- TCLAP::ValueArg<unsigned int> telnetPort ("t","telnetport","The port that is used for telnet",false,DEFAULT_TELNETPORT,"int");
- TCLAP::ValueArg<unsigned int> maxConnections ("m","maxConnections","Maximal number of connections for telnet",false,MAX_TELNETCONNECTIONS,"int");
--TCLAP::SwitchArg dbusWrapperTypeBool ("t","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false);
-+TCLAP::SwitchArg dbusWrapperTypeBool ("T","dbusType","DbusType to be used by CAmDbusWrapper: if option is selected, DBUS_SYSTEM is used otherwise DBUS_SESSION",false);
- TCLAP::SwitchArg enableNoDLTDebug ("V","logDlt","print DLT logs to stdout",false);
- TCLAP::SwitchArg currentSettings("i","currentSettings","print current settings and exit",false);
- TCLAP::SwitchArg daemonizeAM("d","daemonize","daemonize Audiomanager. Better use systemd...",false);
---
-2.5.0
-
diff --git a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/audiomanager.service b/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/audiomanager.service
deleted file mode 100644
index 2210a377b..000000000
--- a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager/audiomanager.service
+++ /dev/null
@@ -1,17 +0,0 @@
-# AudioManager systemd service file
-
-[Unit]
-Description=GENIVI AudioManager
-Requires=dbus.service
-After=dbus.service
-Before=pulseaudio.service
-
-[Service]
-Type=notify
-ExecStart=/usr/bin/AudioManager -T
-Restart=always
-TimeoutSec=2
-WatchdogSec=2
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager_7.4.bb b/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager_7.4.bb
deleted file mode 100644
index 15eb36252..000000000
--- a/meta-agl-profile-demo/recipes-multimedia/audiomanager/audiomanager_7.4.bb
+++ /dev/null
@@ -1,56 +0,0 @@
-DESCRIPTION = "GENIVI Audio Manager"
-HOMEPAGE = "http://projects.genivi.org/audio-manager/home"
-LICENSE = "MPLv2"
-SECTION = "multimedia"
-DEPENDS = "dbus dlt-daemon systemd"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=f164349b56ed530a6642e9b9f244eec5"
-
-SRC_URI = " \
- git://github.com/GENIVI/AudioManager.git;protocol=https;branch=master \
- file://audiomanager.service \
-"
-RDEPENDS_${PN} = "audiomanager-plugins module-router"
-SRCREV = "daf851ee7a41d1b0572c0c95e15f61e427ce97f1"
-
-S = "${WORKDIR}/git"
-inherit cmake systemd
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE_${PN} = "audiomanager.service"
-SYSTEMD_AUTO_ENABLE = "enable"
-
-EXTRA_OECMAKE = " \
- -DWITH_TESTS=OFF \
- -DWITH_DOCUMENTATION=OFF \
- -DWITH_DLT=ON \
- -DWITH_TELNET=OFF \
- -DWITH_SYSTEMD_WATCHDOG=ON \
- -DGLIB_DBUS_TYPES_TOLERANT=ON \
- -DWITH_CAPI_WRAPPER=OFF \
- -DWITH_DBUS_WRAPPER=ON \
- -DWITH_SHARED_UTILITIES=ON \
- -DWITH_SHARED_CORE=ON \
-"
-
-FILES_${PN} = " \
- ${bindir}/AudioManager \
- ${libdir}/libAudioManagerCore.so.7 \
- ${libdir}/libAudioManagerCore.so.7.4 \
- ${libdir}/libAudioManagerCore.so.7.4.12 \
- ${libdir}/libAudioManagerUtilities.so.7 \
- ${libdir}/libAudioManagerUtilities.so.7.4 \
- ${libdir}/libAudioManagerUtilities.so.7.4.12 \
- ${systemd_unitdir}/audiomanager.service \
-"
-
-FILES_${PN}-dev = " \
- ${includedir}/audiomanager/* \
- ${libdir}/cmake/* \
- ${libdir}/pkgconfig/* \
- ${libdir}/libAudioManagerCore.so \
- ${libdir}/libAudioManagerUtilities.so \
-"
-
-do_install_append() {
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/audiomanager.service ${D}${systemd_unitdir}/system/
-}
diff --git a/meta-agl-profile-demo/recipes-qt/.gitkeep b/meta-agl-profile-demo/recipes-qt/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
--- a/meta-agl-profile-demo/recipes-qt/.gitkeep
+++ /dev/null
diff --git a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb b/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb
deleted file mode 100644
index a22401ffb..000000000
--- a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-appfw-native-qt5.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Qt5 for native GUI framework of AGL IVI profile"
-DESCRIPTION = "A set of Qt5 packages which required by Native App Fw Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-appfw-native-qt5 \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- qtbase \
- qtbase-dev \
- qtbase-plugins \
- qtbase-staticdev \
- qtbase-tools \
- qtdeclarative \
- qtdeclarative-qmlplugins \
- qtdeclarative-tools \
- qtcharts \
- qtwayland \
- qtwayland-plugins \
- qtwayland-tools \
- qtgraphicaleffects-qmlplugins \
- qtvirtualkeyboard \
- "
-RDEPENDS_${PN}_checkforkrogoth += "\
- qtwayland-examples \
- "
diff --git a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb b/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb
deleted file mode 100644
index adebabe76..000000000
--- a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-agl-demo-qt-examples.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "The examples to test Qt5 on AGL Demo Platform"
-DESCRIPTION = "A set of packages which contains Qt5 examples"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-demo-qt-examples \
- "
-
-ALLOW_EMPTY_${PN} = "1"
-
-RDEPENDS_${PN} += "\
- qt3d-examples \
- qtbase-examples \
- qtconnectivity-examples \
- qtdeclarative-examples \
- qtlocation-examples \
- qtmultimedia-examples \
- qtsensors-examples \
- qtsystems-examples \
- qttools-examples \
- qtwayland-examples \
- qtxmlpatterns-examples \
- "
diff --git a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend b/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend
deleted file mode 100644
index 300227e16..000000000
--- a/meta-agl-profile-demo/recipes-qt/packagegroups/packagegroup-qt5-toolchain-target.bbappend
+++ /dev/null
@@ -1,23 +0,0 @@
-# add missing dependencies for SDK
-
-RDEPENDS_${PN} += " \
- qttools-plugins \
- qtquickcontrols-dev \
- qtquickcontrols-qmlplugins \
- qtquickcontrols2-dev \
- qtquickcontrols2-mkspecs \
- qtquickcontrols2-qmlplugins \
-"
-
-# remove dependency on qtwebkit (still added to SDK by packagegroup-qt5-toolchain-target)
-# see SPEC-1159
-RDEPENDS_${PN}_remove = " \
- qtwebkit-dev \
- qtwebkit-mkspecs \
- qtwebkit-qmlplugins \
-"
-
-# add QtAGLExtras
-RDEPENDS_${PN} += " \
- ${@bb.utils.contains("DISTRO_FEATURES", "agl-hmi-framework", " qtaglextras-dev qtaglextras-mkspecs", "",d)} \
-"
diff --git a/meta-agl-profile-demo/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb b/meta-agl-profile-demo/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb
deleted file mode 100644
index dbeda2d11..000000000
--- a/meta-agl-profile-demo/recipes-qt/qml-execscript-plugin/qml-execscript-plugin_1.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "Execute Script QML plugin"
-DESCRIPTION = "This provides a simple QML plugin able to execute script file."
-
-LICENSE = "CLOSED"
-
-DEPENDS = "qtbase-native qtdeclarative"
-
-SRC_URI = "git://github.com/ntanibata/qml-execscript-plugin.git;protocol=git;"
-SRCREV = "1f05c44cccd8aef485d8df8206c8df4e5ad6f310"
-S = "${WORKDIR}/git"
-
-inherit qmake5
-
-EXTRA_OECONF = "--with-moc-dir=${STAGING_BINDIR_NATIVE}/qt5"
-QML_LIBDIR = "${libdir}/qt5/qml"
-
-do_install() {
- install -d ${D}${libdir}/qt5/qml/execScript/
- install -m 0755 execScript/*.so ${D}${libdir}/qt5/qml/execScript/
- install -m 0644 ../git/execScript/qmldir ${D}${libdir}/qt5/qml/execScript/
-}
-
-FILES_${PN} += "${QML_LIBDIR}/execScript/libexecscriptplugin.so"
-FILES_${PN} += "${QML_LIBDIR}/execScript/qmldir"
-FILES_${PN}-dbg += "${QML_LIBDIR}/execScript/.debug"
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtbase-native_git.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtbase-native_git.bbappend
deleted file mode 100644
index b7cfe8dce..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtbase-native_git.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-# Backport this fix from meta-qt5:
-# https://github.com/meta-qt5/meta-qt5/commit/bf7cdd963008f2d61bc4c324fff2bfafe511fb5f
-SRC_URI_remove = "file://0012-qdbuscpp2xml.pro-do-not-build-with-bootstrapped-depe.patch"
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch
deleted file mode 100644
index 10a1ddd88..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From a4943bb5c7fdf5eb297223d2c3bb02d2271bea48 Mon Sep 17 00:00:00 2001
-From: Risto Avila <risto.avila@theqtcompany.com>
-Date: Thu, 17 Dec 2015 04:22:53 +0200
-Subject: [PATCH] Force qdbus to make introspect for every findMetaObject
-
----
- src/dbus/qdbusintegrator.cpp | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
-index cce8b9c..ae2a9dc 100644
---- a/src/dbus/qdbusintegrator.cpp
-+++ b/src/dbus/qdbusintegrator.cpp
-@@ -2512,8 +2512,11 @@ QDBusConnectionPrivate::findMetaObject(const QString &service, const QString &pa
- if (!interface.isEmpty()) {
- QDBusReadLocker locker(FindMetaObject1Action, this);
- QDBusMetaObject *mo = cachedMetaObjects.value(interface, 0);
-- if (mo)
-- return mo;
-+ if (mo) {
-+ // service is not unique. Remove cached object to force introspect
-+ cachedMetaObjects.remove(interface);
-+ delete mo;
-+ }
- }
-
- // introspect the target object
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtbase_%.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtbase_%.bbappend
deleted file mode 100644
index d568b1284..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtbase_%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-DEPENDS_append_koelsch = " libegl"
-#DEPENDS_append_porter = " libegl"
-DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl', d)}"
-
-PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
-PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
-PACKAGECONFIG_append = " ${PACKAGECONFIG_WAYLAND} icu accessibility"
-PACKAGECONFIG_append = " fontconfig"
-PACKAGECONFIG_append = " sql-sqlite"
-
-EXTRA_OECONF_append = ""
-
-# '-qpa wayland-egl' set wayland-egl as default of platform plagins
-PACKAGECONFIG[wayland]="-qpa wayland-egl -no-qpa-platform-guard"
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch
deleted file mode 100644
index 007e46763..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia/0001-metadata-image-support-with-the-data-URL-scheme-for-.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From ed61f1d932c5c6d38458fcd2e1d5d154383f017e Mon Sep 17 00:00:00 2001
-From: Tasuku Suzuki <tasuku.suzuki@qt.io>
-Date: Mon, 12 Dec 2016 16:32:47 +0900
-Subject: [PATCH] metadata image support with the "data" URL scheme for QtQuick
-
-add posterImage, coverArtImage and thumbnailImage to metadata
-
-Change-Id: I10b9bae10c219ffa41506d6e6b345020790217a6
----
- .../multimedia/qdeclarativemediametadata_p.h | 33 ++++++++++++++++++++++
- 1 file changed, 33 insertions(+)
-
-diff --git a/src/imports/multimedia/qdeclarativemediametadata_p.h b/src/imports/multimedia/qdeclarativemediametadata_p.h
-index ede7f87..6a6a815 100644
---- a/src/imports/multimedia/qdeclarativemediametadata_p.h
-+++ b/src/imports/multimedia/qdeclarativemediametadata_p.h
-@@ -51,6 +51,9 @@
- // We mean it.
- //
-
-+#include <QtCore/QBuffer>
-+#include <QtGui/QImage>
-+#include <QtGui/QImageWriter>
- #include <QtQml/qqml.h>
- #include <QtMultimedia/qmediametadata.h>
- #include <QtMultimedia/qmediaservice.h>
-@@ -153,6 +156,9 @@ class QDeclarativeMediaMetaData : public QObject
- Q_PROPERTY(QVariant gpsProcessingMethod READ gpsProcessingMethod WRITE setGPSProcessingMethod NOTIFY metaDataChanged)
- Q_PROPERTY(QVariant gpsAreaInformation READ gpsAreaInformation WRITE setGPSAreaInformation NOTIFY metaDataChanged)
-
-+ Q_PROPERTY(QVariant posterImage READ posterImage NOTIFY metaDataChanged)
-+ Q_PROPERTY(QVariant coverArtImage READ coverArtImage NOTIFY metaDataChanged)
-+ Q_PROPERTY(QVariant thumbnailImage READ thumbnailImage NOTIFY metaDataChanged)
- public:
- QDeclarativeMediaMetaData(QMediaObject *player, QObject *parent = 0)
- : QObject(parent)
-@@ -425,6 +431,16 @@ QT_WARNING_POP
- void setGPSAreaInformation(const QVariant &information) {
- setMetaData(QMediaMetaData::GPSAreaInformation, information); }
-
-+ QVariant posterImage() const {
-+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::PosterImage));
-+ }
-+ QVariant coverArtImage() const {
-+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::CoverArtImage));
-+ }
-+ QVariant thumbnailImage() const {
-+ return convertImageToUrl(m_mediaObject->metaData(QMediaMetaData::ThumbnailImage));
-+ }
-+
- Q_SIGNALS:
- void metaDataChanged();
-
-@@ -440,6 +456,23 @@ private:
- m_writerControl->setMetaData(key, value);
- }
-
-+ QUrl convertImageToUrl(const QVariant &variant) const
-+ {
-+ if (variant.type() != QVariant::Image)
-+ return QUrl();
-+
-+ QImage image = variant.value<QImage>();
-+ QByteArray data;
-+ QBuffer buffer(&data);
-+ buffer.open(QBuffer::WriteOnly);
-+ QImageWriter png(&buffer, "png");
-+ if (!png.write(image)) {
-+ return QUrl();
-+ }
-+ buffer.close();
-+ return QUrl(QStringLiteral("data:image/png;base64,") + data.toBase64());
-+ }
-+
- QMediaObject *m_mediaObject;
- QMetaDataWriterControl *m_writerControl;
- bool m_requestedWriterControl;
---
-2.7.4
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia_%.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia_%.bbappend
deleted file mode 100644
index a06ac2d89..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtmultimedia_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-PACKAGECONFIG_append = " gstreamer"
-
-SRC_URI_append = " \
- file://0001-metadata-image-support-with-the-data-URL-scheme-for-.patch \
- "
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtsystems_%.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtsystems_%.bbappend
deleted file mode 100644
index 550c58d05..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtsystems_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-DEPENDS_remove = "bluez4"
-# currently Qt5 does not support bluez5 "Nothing PROVIDES 'gconfbluez5'"
-#DEPENDS_append = "bluez5"
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch
deleted file mode 100644
index 9495dcc88..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-Implement-initial-IVI-shell-support-with-shell-integ.patch
+++ /dev/null
@@ -1,693 +0,0 @@
-From f41ceb82b1adb1bae15d36a426bf39ea0e75cb68 Mon Sep 17 00:00:00 2001
-From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
-Date: Thu, 5 Nov 2015 20:13:26 +0900
-Subject: [PATCH 1/2] Implement initial IVI-shell support with shell
- integration.
-
-QApplication can set numeric surface ID to its surface by
-following steps
--------------------------------------------------------
-#include <QApplication>
-#include <QQuickView>
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc, argv);
- QQuickView view(QUrl(QStringLiteral("qrc:/main.qml")));
-
- view.setProperty("IVI-Surface-ID", 8000);
- view.show();
- return app.exec();
-}
--------------------------------------------------------
-
-If QApplication doesn't set the surface ID by itself, the ID is
-automatically assigned by qtwayland from 8000. When the application creates
-several surfaces, the ID is incremented like 8001,8002,,,,.
-
-Additionally, qtwayland now supports shell integration Framework. So
-The enviromental value QT_WAYLAND_SHELL_INTEGRATION=ivi-shell are required for
-Qt application.
-
-Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
----
- .gitignore | 6 ++
- src/3rdparty/protocol/ivi-application.xml | 99 +++++++++++++++++++
- src/client/client.pro | 3 +-
- src/plugins/plugins.pro | 3 +-
- .../shellintegration/ivi-shell/ivi-shell.json | 3 +
- .../shellintegration/ivi-shell/ivi-shell.pro | 30 ++++++
- src/plugins/shellintegration/ivi-shell/main.cpp | 69 +++++++++++++
- .../ivi-shell/qwaylandivishellintegration.cpp | 109 +++++++++++++++++++++
- .../ivi-shell/qwaylandivishellintegration.h | 79 +++++++++++++++
- .../ivi-shell/qwaylandivisurface.cpp | 71 ++++++++++++++
- .../ivi-shell/qwaylandivisurface_p.h | 76 ++++++++++++++
- src/plugins/shellintegration/shellintegration.pro | 3 +
- 12 files changed, 549 insertions(+), 2 deletions(-)
- create mode 100644 src/3rdparty/protocol/ivi-application.xml
- create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.json
- create mode 100644 src/plugins/shellintegration/ivi-shell/ivi-shell.pro
- create mode 100644 src/plugins/shellintegration/ivi-shell/main.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
- create mode 100644 src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
- create mode 100644 src/plugins/shellintegration/shellintegration.pro
-
-diff --git a/.gitignore b/.gitignore
-index b33ca90..924afb2 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -61,6 +61,12 @@ src/plugins/hardwareintegration/*/*/qwayland*.h
- src/plugins/hardwareintegration/*/*/*-server-protocol.h
- src/plugins/hardwareintegration/*/*/*-client-protocol.h
- src/plugins/hardwareintegration/*/*/*-protocol.c
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.h
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-application.cpp
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.h
-+src/plugins/shellintegration/ivi-shell/qwayland-ivi-controller.cpp
-+src/plugins/shellintegration/*/*-client-protocol.h
-+src/plugins/shellintegration/*/*-protocol.c
- tests/auto/client/tst_client
- tests/auto/compositor/tst_compositor
- *~
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-new file mode 100644
-index 0000000..61ec7d2
---- /dev/null
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -0,0 +1,99 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="ivi_application">
-+
-+ <copyright>
-+ Copyright (C) 2013 DENSO CORPORATION
-+ Copyright (c) 2013 BMW Car IT GmbH
-+
-+ Permission to use, copy, modify, distribute, and sell this software and
-+ its documentation for any purpose is hereby granted without fee, provided
-+ that the above copyright notice appear in all copies and that both that
-+ copyright notice and this permission notice appear in supporting
-+ documentation, and that the name of the copyright holders not be used in
-+ advertising or publicity pertaining to distribution of the software
-+ without specific, written prior permission. The copyright holders make
-+ no representations about the suitability of this software for any
-+ purpose. It is provided "as is" without express or implied warranty.
-+
-+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
-+ RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
-+ CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
-+ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+ </copyright>
-+
-+ <interface name="ivi_surface" version="1">
-+ <description summary="application interface to surface in ivi compositor"/>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="destroy ivi_surface">
-+ This removes link from ivi_id to wl_surface and destroys ivi_surface.
-+ The ID, ivi_id, is free and can be used for surface_create again.
-+ </description>
-+ </request>
-+
-+ <event name="configure">
-+ <description summary="suggest resize">
-+ The configure event asks the client to resize its surface.
-+
-+ The size is a hint, in the sense that the client is free to
-+ ignore it if it doesn't resize, pick a smaller size (to
-+ satisfy aspect ratio or resize in steps of NxM pixels).
-+
-+ The client is free to dismiss all but the last configure
-+ event it received.
-+
-+ The width and height arguments specify the size of the window
-+ in surface local coordinates.
-+ </description>
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
-+ </event>
-+ </interface>
-+
-+ <interface name="ivi_application" version="1">
-+ <description summary="create ivi-style surfaces">
-+ This interface is exposed as a global singleton.
-+ This interface is implemented by servers that provide IVI-style user interfaces.
-+ It allows clients to associate a ivi_surface with wl_surface.
-+ </description>
-+
-+ <enum name="error">
-+ <entry name="role" value="0" summary="given wl_surface has another role"/>
-+ <entry name="ivi_id" value="1" summary="given ivi_id is assigned to another wl_surface"/>
-+ </enum>
-+
-+ <request name="surface_create">
-+ <description summary="create ivi_surface with numeric ID in ivi compositor">
-+ This request gives the wl_surface the role of an IVI Surface. Creating more than
-+ one ivi_surface for a wl_surface is not allowed. Note, that this still allows the
-+ following example:
-+
-+ 1. create a wl_surface
-+ 2. create ivi_surface for the wl_surface
-+ 3. destroy the ivi_surface
-+ 4. create ivi_surface for the wl_surface (with the same or another ivi_id as before)
-+
-+ surface_create will create a interface:ivi_surface with numeric ID; ivi_id in
-+ ivi compositor. These ivi_ids are defined as unique in the system to identify
-+ it inside of ivi compositor. The ivi compositor implements business logic how to
-+ set properties of the surface with ivi_id according to status of the system.
-+ E.g. a unique ID for Car Navigation application is used for implementing special
-+ logic of the application about where it shall be located.
-+ The server regards following cases as protocol errors and disconnects the client.
-+ - wl_surface already has an nother role.
-+ - ivi_id is already assigned to an another wl_surface.
-+
-+ If client destroys ivi_surface or wl_surface which is assigne to the ivi_surface,
-+ ivi_id which is assigned to the ivi_surface is free for reuse.
-+ </description>
-+ <arg name="ivi_id" type="uint"/>
-+ <arg name="surface" type="object" interface="wl_surface"/>
-+ <arg name="id" type="new_id" interface="ivi_surface"/>
-+ </request>
-+
-+ </interface>
-+
-+</protocol>
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 0c13a4a..ca48cce 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -6,7 +6,8 @@ MODULE=waylandclient
- MODULE_PLUGIN_TYPES = \
- wayland-graphics-integration-client \
- wayland-inputdevice-integration \
-- wayland-decoration-client
-+ wayland-decoration-client \
-+ wayland-shell-integration
-
- CONFIG += generated_privates
-
-diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
-index a1a8a5b..9b66b85 100644
---- a/src/plugins/plugins.pro
-+++ b/src/plugins/plugins.pro
-@@ -2,4 +2,5 @@ TEMPLATE=subdirs
- SUBDIRS += \
- platforms \
- hardwareintegration \
-- decorations
-+ decorations \
-+ shellintegration
-diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.json b/src/plugins/shellintegration/ivi-shell/ivi-shell.json
-new file mode 100644
-index 0000000..c48528e
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.json
-@@ -0,0 +1,3 @@
-+{
-+ "Keys":[ "ivi-shell" ]
-+}
-diff --git a/src/plugins/shellintegration/ivi-shell/ivi-shell.pro b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro
-new file mode 100644
-index 0000000..ac12858
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/ivi-shell.pro
-@@ -0,0 +1,30 @@
-+PLUGIN_TYPE = wayland-shell-integration
-+load(qt_plugin)
-+
-+QT += waylandclient-private
-+CONFIG += wayland-scanner
-+
-+!contains(QT_CONFIG, no-pkg-config) {
-+ PKGCONFIG += wayland-client wayland-cursor
-+ CONFIG += link_pkgconfig
-+ contains(QT_CONFIG, glib): PKGCONFIG_PRIVATE += glib-2.0
-+} else {
-+ LIBS += -lwayland-client -lwayland-cursor $$QT_LIBS_GLIB
-+}
-+
-+WAYLANDCLIENTSOURCES += \
-+ ../../../3rdparty/protocol/ivi-application.xml
-+
-+include(../../../../include/QtWaylandClient/headers.pri)
-+
-+HEADERS += \
-+ qwaylandivishellintegration.h \
-+ qwaylandivisurface_p.h
-+
-+SOURCES += \
-+ main.cpp \
-+ qwaylandivishellintegration.cpp \
-+ qwaylandivisurface.cpp
-+
-+OTHER_FILES += \
-+ ivi-shell.json
-diff --git a/src/plugins/shellintegration/ivi-shell/main.cpp b/src/plugins/shellintegration/ivi-shell/main.cpp
-new file mode 100644
-index 0000000..2382ff7
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/main.cpp
-@@ -0,0 +1,69 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtWaylandClient/private/qwaylandshellintegrationplugin_p.h>
-+#include "qwaylandivishellintegration.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandIviShellIntegrationPlugin : public QWaylandShellIntegrationPlugin
-+{
-+ Q_OBJECT
-+ Q_PLUGIN_METADATA(IID QWaylandShellIntegrationFactoryInterface_iid FILE "ivi-shell.json")
-+
-+public:
-+ virtual QWaylandShellIntegration *create(const QString &key, const QStringList &paramList) Q_DECL_OVERRIDE;
-+};
-+
-+QWaylandShellIntegration *QWaylandIviShellIntegrationPlugin::create(const QString &key, const QStringList &paramList)
-+{
-+ Q_UNUSED(key);
-+ Q_UNUSED(paramList);
-+ return new QWaylandIviShellIntegration();
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#include "main.moc"
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-new file mode 100644
-index 0000000..763fafb
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-@@ -0,0 +1,109 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <sys/types.h>
-+#include <unistd.h>
-+#include <stdint.h>
-+#include <stdlib.h>
-+
-+#include <QtWaylandClient/private/qwayland-wayland.h>
-+#include <QtWaylandClient/private/qwaylanddisplay_p.h>
-+#include <QtWaylandClient/private/qwaylandwindow_p.h>
-+#include <QtWaylandClient/private/qwaylandabstractdecoration_p.h>
-+#include "qwaylandivishellintegration.h"
-+#include "qwaylandivisurface_p.h"
-+#include "qwayland-ivi-application.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+QWaylandIviShellIntegration::QWaylandIviShellIntegration()
-+ : m_iviApplication(Q_NULLPTR)
-+{
-+}
-+
-+QWaylandIviShellIntegration::~QWaylandIviShellIntegration()
-+{
-+ delete m_iviApplication;
-+}
-+
-+bool QWaylandIviShellIntegration::initialize(QWaylandDisplay *display)
-+{
-+ display->addRegistryListener(registryIvi, this);
-+
-+ return true;
-+}
-+
-+QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWindow *window)
-+{
-+ const int IVI_SURFACE_ID = 8000;
-+ if (!m_iviApplication)
-+ return Q_NULLPTR;
-+
-+ uint32_t id = 0;
-+ QVariant value = window->property("IVI-Surface-ID");
-+ if (value.isValid()) {
-+ id = value.toUInt();
-+ } else {
-+ id = IVI_SURFACE_ID + getpid();
-+ }
-+
-+ struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object());
-+
-+ return new QWaylandIviSurface(surface, window);
-+}
-+
-+void QWaylandIviShellIntegration::registryIvi(void *data,
-+ struct wl_registry *registry,
-+ uint32_t id,
-+ const QString &interface,
-+ uint32_t version)
-+{
-+ QWaylandIviShellIntegration *shell = static_cast<QWaylandIviShellIntegration *>(data);
-+
-+ if (interface == QStringLiteral("ivi_application"))
-+ shell->m_iviApplication = new QtWayland::ivi_application(registry, id, version);
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-new file mode 100644
-index 0000000..4856ec6
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-@@ -0,0 +1,79 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2015 ITAGE Corporation, author: <yusuke.binsaki@itage.co.jp>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVIINTEGRATION_H
-+#define QWAYLANDIVIINTEGRATION_H
-+
-+#include <QtWaylandClient/private/qwaylandshellintegration_p.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWayland {
-+ struct wl_registry;
-+ class ivi_application;
-+}
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandWindow;
-+class QWaylandDisplay;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviShellIntegration : public QWaylandShellIntegration
-+{
-+public:
-+ QWaylandIviShellIntegration();
-+ ~QWaylandIviShellIntegration();
-+ bool initialize(QWaylandDisplay *display);
-+ QWaylandShellSurface *createShellSurface(QWaylandWindow *window);
-+
-+private:
-+ static void registryIvi(void *data, struct wl_registry *registry
-+ , uint32_t id, const QString &interface, uint32_t version);
-+
-+private:
-+ QtWayland::ivi_application *m_iviApplication;
-+};
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVIINTEGRATION_H
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-new file mode 100644
-index 0000000..3ce3b4e
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface.cpp
-@@ -0,0 +1,71 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <QtWaylandClient/private/qwaylanddisplay_p.h>
-+#include <QtWaylandClient/private/qwaylandwindow_p.h>
-+#include <QtWaylandClient/private/qwaylandinputdevice_p.h>
-+#include <QtWaylandClient/private/qwaylandscreen_p.h>
-+#include "qwaylandivisurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+QWaylandIviSurface::QWaylandIviSurface(struct ::ivi_surface *ivi_surface, QWaylandWindow *window)
-+ : QtWayland::ivi_surface(ivi_surface)
-+ , QWaylandShellSurface(window)
-+ , m_window(window)
-+{
-+}
-+
-+QWaylandIviSurface::~QWaylandIviSurface()
-+{
-+ ivi_surface::destroy();
-+}
-+
-+void QWaylandIviSurface::ivi_surface_configure(int32_t width, int32_t height)
-+{
-+ this->m_window->configure(0, width, height);
-+}
-+
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-new file mode 100644
-index 0000000..d8331c5
---- /dev/null
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivisurface_p.h
-@@ -0,0 +1,76 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISURFACE_H
-+#define QWAYLANDIVISURFACE_H
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include <QtWaylandClient/private/qwaylandshellsurface_p.h>
-+#include "qwayland-ivi-application.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+namespace QtWaylandClient {
-+
-+class QWaylandWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviSurface : public QtWayland::ivi_surface
-+ , public QWaylandShellSurface
-+{
-+public:
-+ QWaylandIviSurface(struct ::ivi_surface *shell_surface, QWaylandWindow *window);
-+ virtual ~QWaylandIviSurface();
-+
-+private:
-+ virtual void ivi_surface_configure(int32_t width, int32_t height);
-+
-+ QWaylandWindow *m_window;
-+
-+ friend class QWaylandWindow;
-+};
-+
-+}
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISURFACE_H
-diff --git a/src/plugins/shellintegration/shellintegration.pro b/src/plugins/shellintegration/shellintegration.pro
-new file mode 100644
-index 0000000..7abd6cc
---- /dev/null
-+++ b/src/plugins/shellintegration/shellintegration.pro
-@@ -0,0 +1,3 @@
-+TEMPLATE=subdirs
-+
-+SUBDIRS += ivi-shell
---
-1.8.3.1
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch
deleted file mode 100644
index c91e11704..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0001-protocol-update-3rd-party-ivi-application-protocol.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 8caaf802a8b42e9bb1d74fc335a571882c75d73e Mon Sep 17 00:00:00 2001
-From: Holger Behrens <holger.behrens@windriver.com>
-Date: Tue, 3 Feb 2015 09:52:52 +0100
-Subject: [meta-ivi-demo][PATCH 1/2] protocol: update 3rd party ivi-application
- protocol
-
-Signed-off-by: Holger Behrens <holger.behrens@windriver.com>
----
- src/3rdparty/protocol/ivi-application.xml | 31 +++----------------------------
- 1 file changed, 3 insertions(+), 28 deletions(-)
-
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-index 833fd38..b06ae6c 100644
---- a/src/3rdparty/protocol/ivi-application.xml
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -42,34 +42,9 @@
- <arg name="visibility" type="int"/>
- </event>
-
-- <enum name="warning_code">
-- <description summary="possible warning codes returned by ivi compositor">
-- These define all possible warning codes returned by ivi compositor on server-side warnings.
-- invalid_wl_surface:
-- - wl_surface already has a another role.
-- - wl_surface is destroyed before the ivi_surface is destroyed.
-- ivi_id_in_use: ivi_id is already assigned by another application.
-- </description>
-- <entry name="invalid_wl_surface" value="1" summary="wl_surface is invalid"/>
-- <entry name="ivi_id_in_use" value="2" summary="ivi_id is in use and can not be shared"/>
-- </enum>
--
-- <event name="warning">
-- <description summary="server-side warning detected">
-- The ivi compositor encountered warning while processing a request by this
-- application. The warning is defined by argument warning_code and optional
-- warning_text. If the warning is detected, client shall destroy the ivi_surface
-- object.
--
-- When a warning event is sent, the compositor turns the ivi_surface object inert.
-- The ivi_surface will not deliver further events, all requests on it are ignored
-- except 'destroy', and the association to the ivi_id is removed. The client
-- should destroy the ivi_surface object. If an inert ivi_surface object is used as
-- an argument to any other object's request, that request will [produce a fatal
-- error / produce a warning / be ignored].
-- </description>
-- <arg name="warning_code" type="int"/>
-- <arg name="warning_text" type="string" allow-null="true"/>
-+ <event name="configure">
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
- </event>
-
- </interface>
---
-2.2.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch
deleted file mode 100644
index 177710516..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-Fix-multiple-QWindow.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 23534d35587a8b62c945fef1adb29109e5c01bfa Mon Sep 17 00:00:00 2001
-From: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
-Date: Fri, 6 Nov 2015 09:59:48 +0900
-Subject: [PATCH 2/2] Fix multiple QWindow
-
-Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
----
- .../ivi-shell/qwaylandivishellintegration.cpp | 16 ++++++++++------
- .../ivi-shell/qwaylandivishellintegration.h | 1 +
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-index 763fafb..c42f283 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.cpp
-@@ -58,6 +58,7 @@ namespace QtWaylandClient {
-
- QWaylandIviShellIntegration::QWaylandIviShellIntegration()
- : m_iviApplication(Q_NULLPTR)
-+ , m_surfaceId(0)
- {
- }
-
-@@ -79,15 +80,18 @@ QWaylandShellSurface *QWaylandIviShellIntegration::createShellSurface(QWaylandWi
- if (!m_iviApplication)
- return Q_NULLPTR;
-
-- uint32_t id = 0;
-- QVariant value = window->property("IVI-Surface-ID");
-- if (value.isValid()) {
-- id = value.toUInt();
-+ if (m_surfaceId == 0) {
-+ QVariant value = window->property("IVI-Surface-ID");
-+ if (value.isValid()) {
-+ m_surfaceId = value.toUInt();
-+ } else {
-+ m_surfaceId = IVI_SURFACE_ID + getpid();
-+ }
- } else {
-- id = IVI_SURFACE_ID + getpid();
-+ m_surfaceId++;
- }
-
-- struct ivi_surface *surface = m_iviApplication->surface_create(id, window->object());
-+ struct ivi_surface *surface = m_iviApplication->surface_create(m_surfaceId, window->object());
-
- return new QWaylandIviSurface(surface, window);
- }
-diff --git a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-index 4856ec6..1d10e91 100644
---- a/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-+++ b/src/plugins/shellintegration/ivi-shell/qwaylandivishellintegration.h
-@@ -70,6 +70,7 @@ private:
-
- private:
- QtWayland::ivi_application *m_iviApplication;
-+ uint32_t m_surfaceId;
- };
-
- }
---
-1.8.3.1
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch
deleted file mode 100644
index 591ef71c5..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 31c60aedf415fd06b5c1aa16fdcef1504b67b96d Mon Sep 17 00:00:00 2001
-From: Holger Behrens <holger.behrens@windriver.com>
-Date: Tue, 3 Feb 2015 09:53:43 +0100
-Subject: [meta-ivi-demo][PATCH 2/2] qwaylandwindow: add support for
- IVI-Surface-ID property
-
-Signed-off-by: Holger Behrens <holger.behrens@windriver.com>
----
- src/client/qwaylandwindow.cpp | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 45a58f2..781081a 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -100,7 +100,14 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-
- if (!(window->flags() & Qt::BypassWindowManagerHint)) {
- if (mDisplay->shellIvi()) {
-- mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(IVI_SURFACE_ID + getpid(), object()), this);
-+ unsigned int id = 0;
-+ QVariant value = window->property("IVI-Surface-ID");
-+ if (value.isValid()) {
-+ id = value.toUInt();
-+ } else {
-+ id = IVI_SURFACE_ID + getpid();
-+ }
-+ mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(id, object()), this);
- } else if (mDisplay->shellXdg()) {
- if (window->type() & Qt::Window) {
- mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
---
-2.2.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch
deleted file mode 100644
index 39296c769..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0010-Added-manifest-file-according-to-smack-3-domain-mode.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Add qt5wayland.manifest. Removed specfile change from patch.
-
-Adapted from:
-
-From 424c23191d81b072255bd7f178ad0ee2c2ea091a Mon Sep 17 00:00:00 2001
-From: Tomasz Olszak <olszak.tomasz@gmail.com>
-Date: Fri, 25 Apr 2014 14:32:22 +0200
-Subject: [PATCH 10/21] Added manifest file according to smack 3-domain model.
-
-Bug-Tizen:TIVI-2416
-
-Change-Id: I414e245a5c8847bec32ef6a97569d0f06221e1db
-Signed-off-by: Tomasz Olszak <olszak.tomasz@gmail.com>
----
- packaging/qt5-qtwayland.manifest | 5 +++++
- packaging/qt5-qtwayland.spec | 4 ++++
- 2 files changed, 9 insertions(+)
- create mode 100644 packaging/qt5-qtwayland.manifest
-
-diff --git a/packaging/qt5-qtwayland.manifest b/packaging/qt5-qtwayland.manifest
-new file mode 100644
-index 0000000..75b0fa5
---- /dev/null
-+++ b/packaging/qt5-qtwayland.manifest
-@@ -0,0 +1,5 @@
-+<manifest>
-+ <request>
-+ <domain name="_"/>
-+ </request>
-+</manifest>
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch
deleted file mode 100644
index 6bea62621..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch
+++ /dev/null
@@ -1,468 +0,0 @@
-From 5cd43dc7519f54f9786fb6c686a2ce1e682d4366 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Fri, 25 Apr 2014 10:31:42 +0200
-Subject: [PATCH 16/21] xdg-shell: Add xdg-shell protocol file version 1.4.0
-
-Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.4.0
-
-This file will need to be refreshed on protocol update
-until xdg-shell land in wayland's public headers
-
-Task-number: QTBUG-38633/part/1of2
-Change-Id: I397d863dcfc2223ac6eb234c37dbcd7449ecffff
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/c2a22eea6716e073875474adf624d8463eba836c
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- src/3rdparty/protocol/xdg-shell.xml | 438 ++++++++++++++++++++++++++++++++++++
- 1 file changed, 438 insertions(+)
- create mode 100644 src/3rdparty/protocol/xdg-shell.xml
-
-diff --git a/src/3rdparty/protocol/xdg-shell.xml b/src/3rdparty/protocol/xdg-shell.xml
-new file mode 100644
-index 0000000..4e5cff8
---- /dev/null
-+++ b/src/3rdparty/protocol/xdg-shell.xml
-@@ -0,0 +1,438 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="xdg_shell">
-+
-+ <copyright>
-+ Copyright © 2008-2013 Kristian Høgsberg
-+ Copyright © 2013 Rafael Antognolli
-+ Copyright © 2013 Jasper St. Pierre
-+ Copyright © 2010-2013 Intel Corporation
-+
-+ Permission to use, copy, modify, distribute, and sell this
-+ software and its documentation for any purpose is hereby granted
-+ without fee, provided that the above copyright notice appear in
-+ all copies and that both that copyright notice and this permission
-+ notice appear in supporting documentation, and that the name of
-+ the copyright holders not be used in advertising or publicity
-+ pertaining to distribution of the software without specific,
-+ written prior permission. The copyright holders make no
-+ representations about the suitability of this software for any
-+ purpose. It is provided "as is" without express or implied
-+ warranty.
-+
-+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-+ THIS SOFTWARE.
-+ </copyright>
-+
-+ <interface name="xdg_shell" version="1">
-+ <description summary="create desktop-style surfaces">
-+ This interface is implemented by servers that provide
-+ desktop-style user interfaces.
-+
-+ It allows clients to associate a xdg_surface with
-+ a basic surface.
-+ </description>
-+
-+ <enum name="version">
-+ <description summary="latest protocol version">
-+ Use this enum to check the protocol version, and it will be updated
-+ automatically.
-+ </description>
-+ <entry name="current" value="1" summary="Always the latest version"/>
-+ </enum>
-+
-+
-+ <request name="use_unstable_version">
-+ <description summary="enable use of this unstable version">
-+ Use this request in order to enable use of this interface.
-+
-+ Understand and agree that one is using an unstable interface,
-+ that will likely change in the future, breaking the API.
-+ </description>
-+ <arg name="version" type="int"/>
-+ </request>
-+
-+ <request name="get_xdg_surface">
-+ <description summary="create a shell surface from a surface">
-+ Create a shell surface for an existing surface.
-+
-+ Only one shell or popup surface can be associated with a given
-+ surface.
-+ </description>
-+ <arg name="id" type="new_id" interface="xdg_surface"/>
-+ <arg name="surface" type="object" interface="wl_surface"/>
-+ </request>
-+
-+ <request name="get_xdg_popup">
-+ <description summary="create a shell surface from a surface">
-+ Create a popup surface for an existing surface.
-+
-+ Only one shell or popup surface can be associated with a given
-+ surface.
-+ </description>
-+ <arg name="id" type="new_id" interface="xdg_popup"/>
-+ <arg name="surface" type="object" interface="wl_surface"/>
-+ <arg name="parent" type="object" interface="wl_surface"/>
-+ <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+ <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+ <arg name="x" type="int"/>
-+ <arg name="y" type="int"/>
-+ <arg name="flags" type="uint"/>
-+ </request>
-+ </interface>
-+
-+ <interface name="xdg_surface" version="1">
-+
-+ <description summary="desktop-style metadata interface">
-+ An interface that may be implemented by a wl_surface, for
-+ implementations that provide a desktop-style user interface.
-+
-+ It provides requests to treat surfaces like windows, allowing to set
-+ properties like maximized, fullscreen, minimized, and to move and resize
-+ them, and associate metadata like title and app id.
-+
-+ On the server side the object is automatically destroyed when
-+ the related wl_surface is destroyed. On client side,
-+ xdg_surface.destroy() must be called before destroying
-+ the wl_surface object.
-+ </description>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="remove xdg_surface interface">
-+ The xdg_surface interface is removed from the wl_surface object
-+ that was turned into a xdg_surface with
-+ xdg_shell.get_xdg_surface request. The xdg_surface properties,
-+ like maximized and fullscreen, are lost. The wl_surface loses
-+ its role as a xdg_surface. The wl_surface is unmapped.
-+ </description>
-+ </request>
-+
-+ <request name="set_transient_for">
-+ <description summary="surface is a child of another surface">
-+ Setting a surface as transient of another means that it is child
-+ of another surface.
-+
-+ Child surfaces are stacked above their parents, and will be
-+ unmapped if the parent is unmapped too. They should not appear
-+ on task bars and alt+tab.
-+ </description>
-+ <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
-+ </request>
-+
-+ <request name="set_title">
-+ <description summary="set surface title">
-+ Set a short title for the surface.
-+
-+ This string may be used to identify the surface in a task bar,
-+ window list, or other user interface elements provided by the
-+ compositor.
-+
-+ The string must be encoded in UTF-8.
-+ </description>
-+ <arg name="title" type="string"/>
-+ </request>
-+
-+ <request name="set_app_id">
-+ <description summary="set surface class">
-+ Set an id for the surface.
-+
-+ The app id identifies the general class of applications to which
-+ the surface belongs.
-+
-+ It should be the ID that appears in the new desktop entry
-+ specification, the interface name.
-+ </description>
-+ <arg name="app_id" type="string"/>
-+ </request>
-+
-+ <request name="pong">
-+ <description summary="respond to a ping event">
-+ A client must respond to a ping event with a pong request or
-+ the client may be deemed unresponsive.
-+ </description>
-+ <arg name="serial" type="uint" summary="serial of the ping event"/>
-+ </request>
-+
-+ <event name="ping">
-+ <description summary="ping client">
-+ Ping a client to check if it is receiving events and sending
-+ requests. A client is expected to reply with a pong request.
-+ </description>
-+ <arg name="serial" type="uint"/>
-+ </event>
-+
-+ <request name="move">
-+ <description summary="start an interactive move">
-+ Start a pointer-driven move of the surface.
-+
-+ This request must be used in response to a button press event.
-+ The server may ignore move requests depending on the state of
-+ the surface (e.g. fullscreen or maximized).
-+ </description>
-+ <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+ <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+ </request>
-+
-+ <enum name="resize_edge">
-+ <description summary="edge values for resizing">
-+ These values are used to indicate which edge of a surface
-+ is being dragged in a resize operation. The server may
-+ use this information to adapt its behavior, e.g. choose
-+ an appropriate cursor image.
-+ </description>
-+ <entry name="none" value="0"/>
-+ <entry name="top" value="1"/>
-+ <entry name="bottom" value="2"/>
-+ <entry name="left" value="4"/>
-+ <entry name="top_left" value="5"/>
-+ <entry name="bottom_left" value="6"/>
-+ <entry name="right" value="8"/>
-+ <entry name="top_right" value="9"/>
-+ <entry name="bottom_right" value="10"/>
-+ </enum>
-+
-+ <request name="resize">
-+ <description summary="start an interactive resize">
-+ Start a pointer-driven resizing of the surface.
-+
-+ This request must be used in response to a button press event.
-+ The server may ignore resize requests depending on the state of
-+ the surface (e.g. fullscreen or maximized).
-+ </description>
-+ <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
-+ <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+ <arg name="edges" type="uint" summary="which edge or corner is being dragged"/>
-+ </request>
-+
-+ <event name="configure">
-+ <description summary="suggest resize">
-+ The configure event asks the client to resize its surface.
-+
-+ The size is a hint, in the sense that the client is free to
-+ ignore it if it doesn't resize, pick a smaller size (to
-+ satisfy aspect ratio or resize in steps of NxM pixels).
-+
-+ The edges parameter provides a hint about how the surface
-+ was resized. The client may use this information to decide
-+ how to adjust its content to the new size (e.g. a scrolling
-+ area might adjust its content position to leave the viewable
-+ content unmoved). Valid edge values are from resize_edge enum.
-+
-+ The client is free to dismiss all but the last configure
-+ event it received.
-+
-+ The width and height arguments specify the size of the window
-+ in surface local coordinates.
-+ </description>
-+
-+ <arg name="edges" type="uint"/>
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
-+ </event>
-+
-+ <request name="set_output">
-+ <description summary="set the default output used by this surface">
-+ Set the default output used by this surface when it is first mapped.
-+
-+ If this value is NULL (default), it's up to the compositor to choose
-+ which display will be used to map this surface.
-+
-+ When fullscreen or maximized state are set on this surface, and it
-+ wasn't mapped yet, the output set with this method will be used.
-+ Otherwise, the output where the surface is currently mapped will be
-+ used.
-+ </description>
-+ <arg name="output" type="object" interface="wl_output" allow-null="true"/>
-+ </request>
-+
-+ <event name="request_set_fullscreen">
-+ <description summary="server requests that the client set fullscreen">
-+ Event sent from the compositor to the client requesting that the client
-+ goes to a fullscreen state. It's the client job to call set_fullscreen
-+ and really trigger the fullscreen state.
-+ </description>
-+ </event>
-+
-+ <event name="request_unset_fullscreen">
-+ <description summary="server requests that the client unset fullscreen">
-+ Event sent from the compositor to the client requesting that the client
-+ leaves the fullscreen state. It's the client job to call
-+ unset_fullscreen and really leave the fullscreen state.
-+ </description>
-+ </event>
-+
-+ <request name="set_fullscreen">
-+ <description summary="set the surface state as fullscreen">
-+ Set the surface as fullscreen.
-+
-+ After this request, the compositor should send a configure event
-+ informing the output size.
-+
-+ This request informs the compositor that the next attached buffer
-+ committed will be in a fullscreen state. The buffer size should be the
-+ same size as the size informed in the configure event, if the client
-+ doesn't want to leave any empty area.
-+
-+ In other words: the next attached buffer after set_maximized is the new
-+ maximized buffer. And the surface will be positioned at the maximized
-+ position on commit.
-+
-+ A simple way to synchronize and wait for the correct configure event is
-+ to use a wl_display.sync request right after the set_fullscreen
-+ request. When the sync callback returns, the last configure event
-+ received just before it will be the correct one, and should contain the
-+ right size for the surface to maximize.
-+
-+ Setting one state won't unset another state. Use
-+ xdg_surface.unset_fullscreen for unsetting it.
-+ </description>
-+ </request>
-+
-+ <request name="unset_fullscreen">
-+ <description summary="unset the surface state as fullscreen">
-+ Unset the surface fullscreen state.
-+
-+ Same negotiation as set_fullscreen must be used.
-+ </description>
-+ </request>
-+
-+ <event name="request_set_maximized">
-+ <description summary="server requests that the client set maximized">
-+ Event sent from the compositor to the client requesting that the client
-+ goes to a maximized state. It's the client job to call set_maximized
-+ and really trigger the maximized state.
-+ </description>
-+ </event>
-+
-+ <event name="request_unset_maximized">
-+ <description summary="server requests that the client unset maximized">
-+ Event sent from the compositor to the client requesting that the client
-+ leaves the maximized state. It's the client job to call unset_maximized
-+ and really leave the maximized state.
-+ </description>
-+ </event>
-+
-+ <request name="set_maximized">
-+ <description summary="set the surface state as maximized">
-+ Set the surface as maximized.
-+
-+ After this request, the compositor will send a configure event
-+ informing the output size minus panel and other MW decorations.
-+
-+ This request informs the compositor that the next attached buffer
-+ committed will be in a maximized state. The buffer size should be the
-+ same size as the size informed in the configure event, if the client
-+ doesn't want to leave any empty area.
-+
-+ In other words: the next attached buffer after set_maximized is the new
-+ maximized buffer. And the surface will be positioned at the maximized
-+ position on commit.
-+
-+ A simple way to synchronize and wait for the correct configure event is
-+ to use a wl_display.sync request right after the set_maximized request.
-+ When the sync callback returns, the last configure event received just
-+ before it will be the correct one, and should contain the right size
-+ for the surface to maximize.
-+
-+ Setting one state won't unset another state. Use
-+ xdg_surface.unset_maximized for unsetting it.
-+ </description>
-+ </request>
-+
-+ <request name="unset_maximized">
-+ <description summary="unset the surface state as maximized">
-+ Unset the surface maximized state.
-+
-+ Same negotiation as set_maximized must be used.
-+ </description>
-+ </request>
-+
-+ <request name="set_minimized">
-+ <description summary="set the surface state as minimized">
-+ Set the surface minimized state.
-+
-+ Setting one state won't unset another state.
-+ </description>
-+ </request>
-+
-+ <event name="focused_set">
-+ <description summary="surface was focused">
-+ The focused_set event is sent when this surface has been
-+ activated. Window decorations should be updated accordingly.
-+ </description>
-+ </event>
-+
-+ <event name="focused_unset">
-+ <description summary="surface was unfocused">
-+ The focused_unset event is sent when this surface has been
-+ deactivated, because another surface has been activated. Window
-+ decorations should be updated accordingly.
-+ </description>
-+ </event>
-+ </interface>
-+
-+ <interface name="xdg_popup" version="1">
-+ <description summary="desktop-style metadata interface">
-+ An interface that may be implemented by a wl_surface, for
-+ implementations that provide a desktop-style popups/menus. A popup
-+ surface is a transient surface with an added pointer grab.
-+
-+ An existing implicit grab will be changed to owner-events mode,
-+ and the popup grab will continue after the implicit grab ends
-+ (i.e. releasing the mouse button does not cause the popup to be
-+ unmapped).
-+
-+ The popup grab continues until the window is destroyed or a mouse
-+ button is pressed in any other clients window. A click in any of
-+ the clients surfaces is reported as normal, however, clicks in
-+ other clients surfaces will be discarded and trigger the callback.
-+
-+ The x and y arguments specify the locations of the upper left
-+ corner of the surface relative to the upper left corner of the
-+ parent surface, in surface local coordinates.
-+
-+ xdg_popup surfaces are always transient for another surface.
-+ </description>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="remove xdg_surface interface">
-+ The xdg_surface interface is removed from the wl_surface object
-+ that was turned into a xdg_surface with
-+ xdg_shell.get_xdg_surface request. The xdg_surface properties,
-+ like maximized and fullscreen, are lost. The wl_surface loses
-+ its role as a xdg_surface. The wl_surface is unmapped.
-+ </description>
-+ </request>
-+
-+ <request name="pong">
-+ <description summary="respond to a ping event">
-+ A client must respond to a ping event with a pong request or
-+ the client may be deemed unresponsive.
-+ </description>
-+ <arg name="serial" type="uint" summary="serial of the ping event"/>
-+ </request>
-+
-+ <event name="ping">
-+ <description summary="ping client">
-+ Ping a client to check if it is receiving events and sending
-+ requests. A client is expected to reply with a pong request.
-+ </description>
-+ <arg name="serial" type="uint"/>
-+ </event>
-+
-+ <event name="popup_done">
-+ <description summary="popup interaction is done">
-+ The popup_done event is sent out when a popup grab is broken,
-+ that is, when the users clicks a surface that doesn't belong
-+ to the client owning the popup surface.
-+ </description>
-+ <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
-+ </event>
-+
-+ </interface>
-+</protocol>
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch
deleted file mode 100644
index fe1bb50e8..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch
+++ /dev/null
@@ -1,1029 +0,0 @@
-From 0edba039247ce888dbb7ff0a93c7b9ec01bac46e Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Wed, 26 Mar 2014 10:16:01 +0100
-Subject: [PATCH 17/21] xdg-shell: Add minimize feature to QWindow using
- wayland's xdg-shell
-
-The feature is disabled by default,
-and can be enabled at runtime
-by exporting QT_WAYLAND_USE_XDG_SHELL env variable.
-
-This patch relies on presence of protocol file
-which has been imported from weston-1.4.0 sources,
-until the xdg-shell is merge into wayland itself.
-
-Because xdg-shell is experimental,
-code fallback to WaylandShell if no XdgShell
-but keep in mind those shells are exclusive.
-
-Since xdg-shell and wayland-shell share most of the API,
-some factorization is done by an (empty) abstraction class
-to keep the code more readable.
-
-Despite xdg-shell introduces new popups concept,
-they're not used on this change for maitainance purpose.
-
-Notes:
-
-* This change depends on presence of xdg-shell protocol file.
-
-* You can check a demo video
- (qt-tizen-cinematic-experience-20140430-rzr)
- of the test case at :
- https://www.youtube.com/watch?v=pY_XXvKc_0E#
-
-* Use Super+Tab to show window again if hidden
-
-Task-number: QTBUG-38633/part/2of2
-Change-Id: I2d7ed85bea1847d82439fdfc893a3dbb2581ffff
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/768484daaa64bea965bef981a16f59be8db0c190
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- src/client/client.pro | 5 +
- src/client/qwaylanddisplay.cpp | 5 +
- src/client/qwaylanddisplay_p.h | 4 +
- src/client/qwaylandshellsurface.cpp | 134 ------------------------
- src/client/qwaylandshellsurface_p.h | 40 +++-----
- src/client/qwaylandwindow.cpp | 40 ++++++--
- src/client/qwaylandwlshellsurface.cpp | 186 ++++++++++++++++++++++++++++++++++
- src/client/qwaylandwlshellsurface_p.h | 101 ++++++++++++++++++
- src/client/qwaylandxdgsurface.cpp | 173 +++++++++++++++++++++++++++++++
- src/client/qwaylandxdgsurface_p.h | 105 +++++++++++++++++++
- 10 files changed, 625 insertions(+), 168 deletions(-)
- create mode 100644 src/client/qwaylandwlshellsurface.cpp
- create mode 100644 src/client/qwaylandwlshellsurface_p.h
- create mode 100644 src/client/qwaylandxdgsurface.cpp
- create mode 100644 src/client/qwaylandxdgsurface_p.h
-
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 10cbd31..9ecf82f 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -41,6 +41,7 @@ WAYLANDCLIENTSOURCES += \
- ../extensions/qtkey-extension.xml \
- ../extensions/windowmanager.xml \
- ../3rdparty/protocol/text.xml \
-+ ../3rdparty/protocol/xdg-shell.xml \
-
- SOURCES += qwaylandintegration.cpp \
- qwaylandnativeinterface.cpp \
-@@ -57,6 +58,8 @@ SOURCES += qwaylandintegration.cpp \
- qwaylanddatadevicemanager.cpp \
- qwaylanddatasource.cpp \
- qwaylandshellsurface.cpp \
-+ qwaylandwlshellsurface.cpp \
-+ qwaylandxdgsurface.cpp \
- qwaylandextendedoutput.cpp \
- qwaylandextendedsurface.cpp \
- qwaylandsubsurface.cpp \
-@@ -85,6 +88,8 @@ HEADERS += qwaylandintegration_p.h \
- qwaylanddatadevicemanager_p.h \
- qwaylanddatasource_p.h \
- qwaylandshellsurface_p.h \
-+ qwaylandwlshellsurface_p.h \
-+ qwaylandxdgsurface_p.h \
- qwaylandextendedoutput_p.h \
- qwaylandextendedsurface_p.h \
- qwaylandsubsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 0b715c0..7f953ad 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -61,6 +61,7 @@
- #include "qwaylandqtkey_p.h"
-
- #include <QtWaylandClient/private/qwayland-text.h>
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-
- #include <QtCore/QAbstractEventDispatcher>
- #include <QtGui/private/qguiapplication_p.h>
-@@ -206,6 +207,10 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
- mCompositor.init(registry, id);
- } else if (interface == QStringLiteral("wl_shm")) {
- mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
-+ } else if (interface == QStringLiteral("xdg_shell")
-+ && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
-+ mShellXdg.reset(new QtWayland::xdg_shell(registry, id));
-+ mShellXdg->use_unstable_version(QtWayland::xdg_shell::version_current);
- } else if (interface == QStringLiteral("wl_shell")){
- mShell.reset(new QtWayland::wl_shell(registry, id));
- } else if (interface == QStringLiteral("wl_seat")) {
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index 40cb2b2..cf5dfc2 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -51,6 +51,7 @@
-
- #include <QtWaylandClient/private/qwayland-wayland.h>
- #include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-
- struct wl_cursor_image;
-
-@@ -78,6 +79,7 @@ namespace QtWayland {
- class qt_sub_surface_extension;
- class qt_surface_extension;
- class wl_text_input_manager;
-+ class xdg_shell;
- }
-
- typedef void (*RegistryListener)(void *data,
-@@ -113,6 +115,7 @@ public:
- QtWayland::wl_compositor *compositor() { return &mCompositor; }
-
- QtWayland::wl_shell *shell() { return mShell.data(); }
-+ QtWayland::xdg_shell *shellXdg() { return mShellXdg.data(); }
-
- QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
- QWaylandInputDevice *defaultInputDevice() const;
-@@ -168,6 +171,7 @@ private:
- QThread *mEventThread;
- QWaylandEventThread *mEventThreadObject;
- QScopedPointer<QtWayland::wl_shell> mShell;
-+ QScopedPointer<QtWayland::xdg_shell> mShellXdg;
- QList<QPlatformScreen *> mScreens;
- QList<QWaylandInputDevice *> mInputDevices;
- QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandshellsurface.cpp b/src/client/qwaylandshellsurface.cpp
-index b7a819f..80e509b 100644
---- a/src/client/qwaylandshellsurface.cpp
-+++ b/src/client/qwaylandshellsurface.cpp
-@@ -40,137 +40,3 @@
- ****************************************************************************/
-
- #include "qwaylandshellsurface_p.h"
--
--#include "qwaylanddisplay_p.h"
--#include "qwaylandwindow_p.h"
--#include "qwaylandinputdevice_p.h"
--#include "qwaylanddecoration_p.h"
--#include "qwaylandscreen_p.h"
--
--#include <QtCore/QDebug>
--
--QT_BEGIN_NAMESPACE
--
--QWaylandShellSurface::QWaylandShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window)
-- : QtWayland::wl_shell_surface(shell_surface)
-- , m_window(window)
-- , m_maximized(false)
-- , m_fullscreen(false)
--{
--}
--
--QWaylandShellSurface::~QWaylandShellSurface()
--{
-- wl_shell_surface_destroy(object());
--}
--
--void QWaylandShellSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
--{
-- resize(inputDevice->wl_seat(),
-- inputDevice->serial(),
-- edges);
--}
--
--void QWaylandShellSurface::move(QWaylandInputDevice *inputDevice)
--{
-- move(inputDevice->wl_seat(),
-- inputDevice->serial());
--}
--
--void QWaylandShellSurface::setMaximized()
--{
-- m_maximized = true;
-- m_size = m_window->window()->geometry().size();
-- set_maximized(0);
--}
--
--void QWaylandShellSurface::setFullscreen()
--{
-- m_fullscreen = true;
-- m_size = m_window->window()->geometry().size();
-- set_fullscreen(WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, 0, 0);
--}
--
--void QWaylandShellSurface::setNormal()
--{
-- if (m_fullscreen || m_maximized) {
-- m_fullscreen = m_maximized = false;
-- setTopLevel();
-- QMargins m = m_window->frameMargins();
-- m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-- }
--}
--
--void QWaylandShellSurface::setMinimized()
--{
-- // TODO: There's no wl_shell_surface API for this
--}
--
--void QWaylandShellSurface::setTopLevel()
--{
-- set_toplevel();
--}
--
--void QWaylandShellSurface::updateTransientParent(QWindow *parent)
--{
-- QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
-- if (!parent_wayland_window)
-- return;
--
-- // set_transient expects a position relative to the parent
-- QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-- QWindow *parentWin = m_window->window()->transientParent();
-- transientPos -= parentWin->geometry().topLeft();
-- if (parent_wayland_window->decoration()) {
-- transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-- transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-- }
--
-- uint32_t flags = 0;
-- Qt::WindowFlags wf = m_window->window()->flags();
-- if (wf.testFlag(Qt::ToolTip)
-- || wf.testFlag(Qt::WindowTransparentForInput))
-- flags |= WL_SHELL_SURFACE_TRANSIENT_INACTIVE;
--
-- set_transient(parent_wayland_window->object(),
-- transientPos.x(),
-- transientPos.y(),
-- flags);
--}
--
--void QWaylandShellSurface::setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial)
--{
-- QWaylandWindow *parent_wayland_window = parent;
-- if (!parent_wayland_window)
-- return;
--
-- // set_popup expects a position relative to the parent
-- QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-- transientPos -= parent_wayland_window->geometry().topLeft();
-- if (parent_wayland_window->decoration()) {
-- transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-- transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-- }
--
-- set_popup(device->wl_seat(), serial, parent_wayland_window->object(),
-- transientPos.x(), transientPos.y(), 0);
--}
--
--void QWaylandShellSurface::shell_surface_ping(uint32_t serial)
--{
-- pong(serial);
--}
--
--void QWaylandShellSurface::shell_surface_configure(uint32_t edges,
-- int32_t width,
-- int32_t height)
--{
-- m_window->configure(edges, width, height);
--}
--
--void QWaylandShellSurface::shell_surface_popup_done()
--{
-- QCoreApplication::postEvent(m_window->window(), new QCloseEvent());
--}
--
--QT_END_NAMESPACE
-diff --git a/src/client/qwaylandshellsurface_p.h b/src/client/qwaylandshellsurface_p.h
-index 2477c3f..2f59f60 100644
---- a/src/client/qwaylandshellsurface_p.h
-+++ b/src/client/qwaylandshellsurface_p.h
-@@ -55,39 +55,25 @@ class QWaylandWindow;
- class QWaylandInputDevice;
- class QWindow;
-
--class Q_WAYLAND_CLIENT_EXPORT QWaylandShellSurface : public QtWayland::wl_shell_surface
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandShellSurface
- {
- public:
-- QWaylandShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window);
-- ~QWaylandShellSurface();
-+ virtual ~QWaylandShellSurface() {}
-+ virtual void resize(QWaylandInputDevice * /*inputDevice*/, enum wl_shell_surface_resize /*edges*/)
-+ {}
-
-- using QtWayland::wl_shell_surface::resize;
-- void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges);
--
-- using QtWayland::wl_shell_surface::move;
-- void move(QWaylandInputDevice *inputDevice);
-+ virtual void move(QWaylandInputDevice * /*inputDevice*/) {}
-+ virtual void setTitle(const QString & /*title*/) {}
-+ virtual void setAppId(const QString & /*appId*/) {}
-
- private:
-- void setMaximized();
-- void setFullscreen();
-- void setNormal();
-- void setMinimized();
--
-- void setTopLevel();
-- void updateTransientParent(QWindow *parent);
-- void setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial);
--
-- QWaylandWindow *m_window;
-- bool m_maximized;
-- bool m_fullscreen;
-- QSize m_size;
--
-- void shell_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-- void shell_surface_configure(uint32_t edges,
-- int32_t width,
-- int32_t height) Q_DECL_OVERRIDE;
-- void shell_surface_popup_done() Q_DECL_OVERRIDE;
-+ virtual void setMaximized() {}
-+ virtual void setFullscreen() {}
-+ virtual void setNormal() {}
-+ virtual void setMinimized() {}
-
-+ virtual void setTopLevel() {}
-+ virtual void updateTransientParent(QWindow * /*parent*/) {}
- friend class QWaylandWindow;
- };
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 920c977..3fb3a49 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -46,6 +46,8 @@
- #include "qwaylandinputdevice_p.h"
- #include "qwaylandscreen_p.h"
- #include "qwaylandshellsurface_p.h"
-+#include "qwaylandwlshellsurface_p.h"
-+#include "qwaylandxdgsurface_p.h"
- #include "qwaylandextendedsurface_p.h"
- #include "qwaylandsubsurface_p.h"
- #include "qwaylanddecoration_p.h"
-@@ -92,8 +94,16 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
- static WId id = 1;
- mWindowId = id++;
-
-- if (mDisplay->shell() && window->type() & Qt::Window && !(window->flags() & Qt::BypassWindowManagerHint))
-- mShellSurface = new QWaylandShellSurface(mDisplay->shell()->get_shell_surface(object()), this);
-+ if (!(window->flags() & Qt::BypassWindowManagerHint)) {
-+ if (mDisplay->shellXdg()) {
-+ if (window->type() & Qt::Window) {
-+ mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
-+ }
-+ } else if (mDisplay->shell() && window->type() & Qt::Window) {
-+ mShellSurface = new QWaylandWlShellSurface(mDisplay->shell()->get_shell_surface(object()), this);
-+ }
-+ }
-+
- if (mDisplay->windowExtension())
- mExtendedWindow = new QWaylandExtendedSurface(this, mDisplay->windowExtension()->get_extended_surface(object()));
- if (mDisplay->subSurfaceExtension())
-@@ -101,12 +111,12 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
-
- if (mShellSurface) {
- // Set initial surface title
-- mShellSurface->set_title(window->title());
-+ mShellSurface->setTitle(window->title());
-
- // Set surface class to the .desktop file name (obtained from executable name)
- QFileInfo exeFileInfo(qApp->applicationFilePath());
- QString className = exeFileInfo.baseName() + QLatin1String(".desktop");
-- mShellSurface->set_class(className);
-+ mShellSurface->setAppId(className);
- }
-
- if (QPlatformWindow::parent() && mSubSurfaceWindow) {
-@@ -170,7 +180,7 @@ void QWaylandWindow::setParent(const QPlatformWindow *parent)
- void QWaylandWindow::setWindowTitle(const QString &title)
- {
- if (mShellSurface) {
-- mShellSurface->set_title(title);
-+ mShellSurface->setTitle(title);
- }
-
- if (mWindowDecoration && window()->isVisible())
-@@ -212,8 +222,10 @@ void QWaylandWindow::setVisible(bool visible)
- mMouseDevice = parent->mMouseDevice;
- mMouseSerial = parent->mMouseSerial;
-
-- if (mMouseDevice)
-- mShellSurface->setPopup(transientParent(), mMouseDevice, mMouseSerial);
-+ QWaylandWlShellSurface *wlshellSurface = dynamic_cast<QWaylandWlShellSurface*>(mShellSurface);
-+ if (mMouseDevice && wlshellSurface) {
-+ wlshellSurface->setPopup(transientParent(), mMouseDevice, mMouseSerial);
-+ }
- }
-
- if (!mSentInitialResize) {
-@@ -428,6 +440,20 @@ void QWaylandWindow::setWindowFlags(Qt::WindowFlags flags)
-
- bool QWaylandWindow::createDecoration()
- {
-+ // so far only xdg-shell support this "unminimize" trick, may be moved elsewhere
-+ if (mState == Qt::WindowMinimized) {
-+ QWaylandXdgSurface *xdgSurface = dynamic_cast<QWaylandXdgSurface *>(mShellSurface);
-+ if ( xdgSurface ) {
-+ if (xdgSurface->isFullscreen()) {
-+ setWindowStateInternal(Qt::WindowFullScreen);
-+ } else if (xdgSurface->isMaximized()) {
-+ setWindowStateInternal(Qt::WindowMaximized);
-+ } else {
-+ setWindowStateInternal(Qt::WindowNoState);
-+ }
-+ }
-+ }
-+
- static bool disableWaylandDecorations = !qgetenv("QT_WAYLAND_DISABLE_WINDOWDECORATION").isEmpty();
- if (disableWaylandDecorations)
- return false;
-diff --git a/src/client/qwaylandwlshellsurface.cpp b/src/client/qwaylandwlshellsurface.cpp
-new file mode 100644
-index 0000000..4b73ec2
---- /dev/null
-+++ b/src/client/qwaylandwlshellsurface.cpp
-@@ -0,0 +1,186 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandwlshellsurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandWlShellSurface::QWaylandWlShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window)
-+ : QtWayland::wl_shell_surface(shell_surface)
-+ , m_window(window)
-+ , m_maximized(false)
-+ , m_fullscreen(false)
-+{
-+}
-+
-+QWaylandWlShellSurface::~QWaylandWlShellSurface()
-+{
-+ wl_shell_surface_destroy(object());
-+}
-+
-+void QWaylandWlShellSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+ resize(inputDevice->wl_seat(),
-+ inputDevice->serial(),
-+ edges);
-+}
-+
-+void QWaylandWlShellSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+ move(inputDevice->wl_seat(),
-+ inputDevice->serial());
-+}
-+
-+void QWaylandWlShellSurface::setTitle(const QString & title)
-+{
-+ return QtWayland::wl_shell_surface::set_title(title);
-+}
-+
-+void QWaylandWlShellSurface::setAppId(const QString & appId)
-+{
-+ return QtWayland::wl_shell_surface::set_class(appId);
-+}
-+
-+void QWaylandWlShellSurface::setMaximized()
-+{
-+ m_maximized = true;
-+ m_size = m_window->window()->geometry().size();
-+ set_maximized(0);
-+}
-+
-+void QWaylandWlShellSurface::setFullscreen()
-+{
-+ m_fullscreen = true;
-+ m_size = m_window->window()->geometry().size();
-+ set_fullscreen(WL_SHELL_SURFACE_FULLSCREEN_METHOD_DEFAULT, 0, 0);
-+}
-+
-+void QWaylandWlShellSurface::setNormal()
-+{
-+ if (m_fullscreen || m_maximized) {
-+ m_fullscreen = m_maximized = false;
-+ setTopLevel();
-+ QMargins m = m_window->frameMargins();
-+ m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+ }
-+}
-+
-+void QWaylandWlShellSurface::setMinimized()
-+{
-+ // TODO: There's no wl_shell_surface API for this
-+}
-+
-+void QWaylandWlShellSurface::setTopLevel()
-+{
-+ set_toplevel();
-+}
-+
-+void QWaylandWlShellSurface::updateTransientParent(QWindow *parent)
-+{
-+ QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
-+ if (!parent_wayland_window)
-+ return;
-+
-+ // set_transient expects a position relative to the parent
-+ QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+ QWindow *parentWin = m_window->window()->transientParent();
-+ transientPos -= parentWin->geometry().topLeft();
-+ if (parent_wayland_window->decoration()) {
-+ transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+ transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+ }
-+
-+ uint32_t flags = 0;
-+ Qt::WindowFlags wf = m_window->window()->flags();
-+ if (wf.testFlag(Qt::ToolTip)
-+ || wf.testFlag(Qt::WindowTransparentForInput))
-+ flags |= WL_SHELL_SURFACE_TRANSIENT_INACTIVE;
-+
-+ set_transient(parent_wayland_window->object(),
-+ transientPos.x(),
-+ transientPos.y(),
-+ flags);
-+}
-+
-+void QWaylandWlShellSurface::setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial)
-+{
-+ QWaylandWindow *parent_wayland_window = parent;
-+ if (!parent_wayland_window)
-+ return;
-+
-+ // set_popup expects a position relative to the parent
-+ QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+ transientPos -= parent_wayland_window->geometry().topLeft();
-+ if (parent_wayland_window->decoration()) {
-+ transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+ transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+ }
-+
-+ set_popup(device->wl_seat(), serial, parent_wayland_window->object(),
-+ transientPos.x(), transientPos.y(), 0);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_ping(uint32_t serial)
-+{
-+ pong(serial);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_configure(uint32_t edges,
-+ int32_t width,
-+ int32_t height)
-+{
-+ m_window->configure(edges, width, height);
-+}
-+
-+void QWaylandWlShellSurface::shell_surface_popup_done()
-+{
-+ QCoreApplication::postEvent(m_window->window(), new QCloseEvent());
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandwlshellsurface_p.h b/src/client/qwaylandwlshellsurface_p.h
-new file mode 100644
-index 0000000..d02bb7b
---- /dev/null
-+++ b/src/client/qwaylandwlshellsurface_p.h
-@@ -0,0 +1,101 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDWLSHELLSURFACE_H
-+#define QWAYLANDWLSHELLSURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-wayland.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandWlShellSurface : public QtWayland::wl_shell_surface
-+ , public QWaylandShellSurface
-+{
-+public:
-+ QWaylandWlShellSurface(struct ::wl_shell_surface *shell_surface, QWaylandWindow *window);
-+ virtual ~QWaylandWlShellSurface();
-+
-+ using QtWayland::wl_shell_surface::resize;
-+ void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+
-+ using QtWayland::wl_shell_surface::move;
-+ void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+ void setTitle(const QString & title) Q_DECL_OVERRIDE;
-+ void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+private:
-+ void setMaximized() Q_DECL_OVERRIDE;
-+ void setFullscreen() Q_DECL_OVERRIDE;
-+ void setNormal() Q_DECL_OVERRIDE;
-+ void setMinimized() Q_DECL_OVERRIDE;
-+
-+ void setTopLevel() Q_DECL_OVERRIDE;
-+ void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+ void setPopup(QWaylandWindow *parent, QWaylandInputDevice *device, int serial);
-+
-+ QWaylandWindow *m_window;
-+ bool m_maximized;
-+ bool m_fullscreen;
-+ QSize m_size;
-+
-+ void shell_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+ void shell_surface_configure(uint32_t edges,
-+ int32_t width,
-+ int32_t height) Q_DECL_OVERRIDE;
-+ void shell_surface_popup_done() Q_DECL_OVERRIDE;
-+
-+ friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDSHELLSURFACE_H
-diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp
-new file mode 100644
-index 0000000..1b8affa
---- /dev/null
-+++ b/src/client/qwaylandxdgsurface.cpp
-@@ -0,0 +1,173 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandxdgsurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandXdgSurface::QWaylandXdgSurface(struct ::xdg_surface *xdg_surface, QWaylandWindow *window)
-+ : QtWayland::xdg_surface(xdg_surface)
-+ , m_window(window)
-+ , m_maximized(false)
-+ , m_minimized(false)
-+ , m_fullscreen(false)
-+{
-+}
-+
-+QWaylandXdgSurface::~QWaylandXdgSurface()
-+{
-+ xdg_surface_destroy(object());
-+}
-+
-+void QWaylandXdgSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+ // May need some conversion if types get incompatibles, ATM they're identical
-+ enum resize_edge const * const arg = reinterpret_cast<enum resize_edge const * const>(&edges);
-+ resize(inputDevice, *arg);
-+}
-+
-+void QWaylandXdgSurface::resize(QWaylandInputDevice *inputDevice, enum resize_edge edges)
-+{
-+ resize(inputDevice->wl_seat(),
-+ inputDevice->serial(),
-+ edges);
-+}
-+
-+void QWaylandXdgSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+ move(inputDevice->wl_seat(),
-+ inputDevice->serial());
-+}
-+
-+void QWaylandXdgSurface::setMaximized()
-+{
-+ m_maximized = true;
-+ m_size = m_window->window()->geometry().size();
-+ set_maximized();
-+}
-+
-+void QWaylandXdgSurface::setFullscreen()
-+{
-+ m_fullscreen = true;
-+ m_size = m_window->window()->geometry().size();
-+ set_fullscreen();
-+}
-+
-+void QWaylandXdgSurface::setNormal()
-+{
-+ if (m_fullscreen || m_maximized || m_minimized) {
-+ if (m_maximized) { unset_maximized(); }
-+ if (m_fullscreen) { unset_fullscreen(); }
-+
-+ m_fullscreen = m_maximized = m_minimized = false;
-+ setTopLevel();
-+ QMargins m = m_window->frameMargins();
-+ m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+ }
-+}
-+
-+void QWaylandXdgSurface::setMinimized()
-+{
-+ m_minimized = true;
-+ m_size = m_window->window()->geometry().size();
-+ set_minimized();
-+}
-+
-+void QWaylandXdgSurface::setTopLevel()
-+{
-+ // There's no xdg_shell_surface API for this, ignoring
-+}
-+
-+void QWaylandXdgSurface::updateTransientParent(QWindow *parent)
-+{
-+ QWaylandWindow *parent_wayland_window = static_cast<QWaylandWindow *>(parent->handle());
-+ if (!parent_wayland_window)
-+ return;
-+
-+ // set_transient expects a position relative to the parent
-+ QPoint transientPos = m_window->geometry().topLeft(); // this is absolute
-+ QWindow *parentWin = m_window->window()->transientParent();
-+ transientPos -= parentWin->geometry().topLeft();
-+ if (parent_wayland_window->decoration()) {
-+ transientPos.setX(transientPos.x() + parent_wayland_window->decoration()->margins().left());
-+ transientPos.setY(transientPos.y() + parent_wayland_window->decoration()->margins().top());
-+ }
-+
-+ uint32_t flags = 0;
-+ Qt::WindowFlags wf = m_window->window()->flags();
-+ if (wf.testFlag(Qt::ToolTip)
-+ || wf.testFlag(Qt::WindowTransparentForInput))
-+ flags |= XDG_SURFACE_SET_TRANSIENT_FOR;
-+
-+ set_transient_for(parent_wayland_window->object());
-+}
-+
-+void QWaylandXdgSurface::setTitle(const QString & title)
-+{
-+ return QtWayland::xdg_surface::set_title(title);
-+}
-+
-+void QWaylandXdgSurface::setAppId(const QString & appId)
-+{
-+ return QtWayland::xdg_surface::set_app_id(appId);
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_ping(uint32_t serial)
-+{
-+ pong(serial);
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_configure(uint32_t edges, int32_t width,
-+ int32_t height)
-+{
-+ m_window->configure(edges, width, height);
-+}
-+
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h
-new file mode 100644
-index 0000000..744d3f3
---- /dev/null
-+++ b/src/client/qwaylandxdgsurface_p.h
-@@ -0,0 +1,105 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDXDGSURFACE_H
-+#define QWAYLANDXDGSURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandXdgSurface : public QtWayland::xdg_surface
-+ , public QWaylandShellSurface
-+{
-+public:
-+ QWaylandXdgSurface(struct ::xdg_surface *shell_surface, QWaylandWindow *window);
-+ virtual ~QWaylandXdgSurface();
-+
-+ using QtWayland::xdg_surface::resize;
-+ void resize(QWaylandInputDevice *inputDevice, enum resize_edge edges);
-+
-+ void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+
-+ using QtWayland::xdg_surface::move;
-+ void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+ void setTitle(const QString &title) Q_DECL_OVERRIDE;
-+ void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+ bool isFullscreen() const { return m_fullscreen; }
-+ bool isMaximized() const { return m_maximized; }
-+
-+private:
-+ void setMaximized() Q_DECL_OVERRIDE;
-+ void setFullscreen() Q_DECL_OVERRIDE;
-+ void setNormal() Q_DECL_OVERRIDE;
-+ void setMinimized() Q_DECL_OVERRIDE;
-+
-+ void setTopLevel() Q_DECL_OVERRIDE;
-+ void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+
-+private:
-+ QWaylandWindow *m_window;
-+ bool m_maximized;
-+ bool m_minimized;
-+ bool m_fullscreen;
-+ QSize m_size;
-+
-+ void xdg_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+ void xdg_surface_configure(uint32_t edges,
-+ int32_t width,
-+ int32_t height) Q_DECL_OVERRIDE;
-+ friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDXDGSURFACE_H
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch
deleted file mode 100644
index 8f0425a76..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0019-xdg-shell-upgrade-to-support-current-version-weston-.patch
+++ /dev/null
@@ -1,772 +0,0 @@
-From c4219cca0febd7119e0bec776fdc2877b3448e0b Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Tue, 10 Jun 2014 16:22:17 +0200
-Subject: [PATCH 19/21] xdg-shell: upgrade to support current version
- (weston-1.5.0)
-
-The protocol file is a raw copy of
-
-Source: http://cgit.freedesktop.org/wayland/weston/plain/protocol/xdg-shell.xml?id=1.5.0
-
-Task-number: QTBUG-38633/related
-Reviewed-by: Giulio Camuffo <giulio.camuffo@jollamobile.com>
-Reviewed-by: Philippe Coval <rzr@gna.org>
-Origin: https://www.qt.gitorious.org/qt/qtwayland/commit/4bac130b97fbaa565aa9883eb302557ef0185d50
-Change-Id: I41ca2f89c09a8b6348ce2fbf6d59f44b4c81ffff
----
- src/3rdparty/protocol/xdg-shell.xml | 288 ++++++++++++++++++------------------
- src/client/client.pro | 2 +
- src/client/qwaylanddisplay.cpp | 10 +-
- src/client/qwaylanddisplay_p.h | 5 +-
- src/client/qwaylandxdgshell.cpp | 77 ++++++++++
- src/client/qwaylandxdgshell_p.h | 73 +++++++++
- src/client/qwaylandxdgsurface.cpp | 60 ++++++--
- src/client/qwaylandxdgsurface_p.h | 11 +-
- 8 files changed, 364 insertions(+), 162 deletions(-)
- create mode 100644 src/client/qwaylandxdgshell.cpp
- create mode 100644 src/client/qwaylandxdgshell_p.h
-
-diff --git a/src/3rdparty/protocol/xdg-shell.xml b/src/3rdparty/protocol/xdg-shell.xml
-index 4e5cff8..79a2831 100644
---- a/src/3rdparty/protocol/xdg-shell.xml
-+++ b/src/3rdparty/protocol/xdg-shell.xml
-@@ -40,19 +40,22 @@
-
- <enum name="version">
- <description summary="latest protocol version">
-- Use this enum to check the protocol version, and it will be updated
-- automatically.
-+ The 'current' member of this enum gives the version of the
-+ protocol. Implementations can compare this to the version
-+ they implement using static_assert to ensure the protocol and
-+ implementation versions match.
- </description>
-- <entry name="current" value="1" summary="Always the latest version"/>
-+ <entry name="current" value="3" summary="Always the latest version"/>
- </enum>
-
-
- <request name="use_unstable_version">
- <description summary="enable use of this unstable version">
-- Use this request in order to enable use of this interface.
--
-- Understand and agree that one is using an unstable interface,
-- that will likely change in the future, breaking the API.
-+ Negotiate the unstable version of the interface. This
-+ mechanism is in place to ensure client and server agree on the
-+ unstable versions of the protocol that they speak or exit
-+ cleanly if they don't agree. This request will go away once
-+ the xdg-shell protocol is stable.
- </description>
- <arg name="version" type="int"/>
- </request>
-@@ -84,6 +87,28 @@
- <arg name="y" type="int"/>
- <arg name="flags" type="uint"/>
- </request>
-+
-+ <event name="ping">
-+ <description summary="check if the client is alive">
-+ The ping event asks the client if it's still alive. Pass the
-+ serial specified in the event back to the compositor by sending
-+ a "pong" request back with the specified serial.
-+
-+ Compositors can use this to determine if the client is still
-+ alive. It's unspecified what will happen if the client doesn't
-+ respond to the ping request, or in what timeframe. Clients should
-+ try to respond in a reasonable amount of time.
-+ </description>
-+ <arg name="serial" type="uint" summary="pass this to the callback"/>
-+ </event>
-+
-+ <request name="pong">
-+ <description summary="respond to a ping event">
-+ A client must respond to a ping event with a pong request or
-+ the client may be deemed unresponsive.
-+ </description>
-+ <arg name="serial" type="uint" summary="serial of the ping event"/>
-+ </request>
- </interface>
-
- <interface name="xdg_surface" version="1">
-@@ -124,6 +149,32 @@
- <arg name="parent" type="object" interface="wl_surface" allow-null="true"/>
- </request>
-
-+ <request name="set_margin">
-+ <description summary="set the visible frame boundaries">
-+ This tells the compositor what the visible size of the window
-+ should be, so it can use it to determine what borders to use for
-+ constrainment and alignment.
-+
-+ CSD often has invisible areas for decoration purposes, like drop
-+ shadows. These "shadow" drawings need to be subtracted out of the
-+ normal boundaries of the window when computing where to place
-+ windows (e.g. to set this window so it's centered on top of another,
-+ or to put it to the left or right of the screen.)
-+
-+ This value should change as little as possible at runtime, to
-+ prevent flicker.
-+
-+ This value is also ignored when the window is maximized or
-+ fullscreen, and assumed to be 0.
-+
-+ If never called, this value is assumed to be 0.
-+ </description>
-+ <arg name="left_margin" type="int"/>
-+ <arg name="right_margin" type="int"/>
-+ <arg name="top_margin" type="int"/>
-+ <arg name="bottom_margin" type="int"/>
-+ </request>
-+
- <request name="set_title">
- <description summary="set surface title">
- Set a short title for the surface.
-@@ -150,22 +201,6 @@
- <arg name="app_id" type="string"/>
- </request>
-
-- <request name="pong">
-- <description summary="respond to a ping event">
-- A client must respond to a ping event with a pong request or
-- the client may be deemed unresponsive.
-- </description>
-- <arg name="serial" type="uint" summary="serial of the ping event"/>
-- </request>
--
-- <event name="ping">
-- <description summary="ping client">
-- Ping a client to check if it is receiving events and sending
-- requests. A client is expected to reply with a pong request.
-- </description>
-- <arg name="serial" type="uint"/>
-- </event>
--
- <request name="move">
- <description summary="start an interactive move">
- Start a pointer-driven move of the surface.
-@@ -217,12 +252,6 @@
- ignore it if it doesn't resize, pick a smaller size (to
- satisfy aspect ratio or resize in steps of NxM pixels).
-
-- The edges parameter provides a hint about how the surface
-- was resized. The client may use this information to decide
-- how to adjust its content to the new size (e.g. a scrolling
-- area might adjust its content position to leave the viewable
-- content unmoved). Valid edge values are from resize_edge enum.
--
- The client is free to dismiss all but the last configure
- event it received.
-
-@@ -230,7 +259,6 @@
- in surface local coordinates.
- </description>
-
-- <arg name="edges" type="uint"/>
- <arg name="width" type="int"/>
- <arg name="height" type="int"/>
- </event>
-@@ -250,128 +278,122 @@
- <arg name="output" type="object" interface="wl_output" allow-null="true"/>
- </request>
-
-- <event name="request_set_fullscreen">
-- <description summary="server requests that the client set fullscreen">
-- Event sent from the compositor to the client requesting that the client
-- goes to a fullscreen state. It's the client job to call set_fullscreen
-- and really trigger the fullscreen state.
-- </description>
-- </event>
--
-- <event name="request_unset_fullscreen">
-- <description summary="server requests that the client unset fullscreen">
-- Event sent from the compositor to the client requesting that the client
-- leaves the fullscreen state. It's the client job to call
-- unset_fullscreen and really leave the fullscreen state.
-- </description>
-- </event>
-+ <enum name="state">
-+ <description summary="types of state on the surface">
-+ The different state values used on the surface. This is designed for
-+ state values like maximized, fullscreen. It is paired with the
-+ request_change_state event to ensure that both the client and the
-+ compositor setting the state can be synchronized.
-
-- <request name="set_fullscreen">
-- <description summary="set the surface state as fullscreen">
-- Set the surface as fullscreen.
-+ States set in this way are double-buffered. They will get applied on
-+ the next commit.
-
-- After this request, the compositor should send a configure event
-- informing the output size.
-+ Desktop environments may extend this enum by taking up a range of
-+ values and documenting the range they chose in this description.
-+ They are not required to document the values for the range that they
-+ chose. Ideally, any good extensions from a desktop environment should
-+ make its way into standardization into this enum.
-
-- This request informs the compositor that the next attached buffer
-- committed will be in a fullscreen state. The buffer size should be the
-- same size as the size informed in the configure event, if the client
-- doesn't want to leave any empty area.
-+ The current reserved ranges are:
-
-- In other words: the next attached buffer after set_maximized is the new
-- maximized buffer. And the surface will be positioned at the maximized
-- position on commit.
--
-- A simple way to synchronize and wait for the correct configure event is
-- to use a wl_display.sync request right after the set_fullscreen
-- request. When the sync callback returns, the last configure event
-- received just before it will be the correct one, and should contain the
-- right size for the surface to maximize.
--
-- Setting one state won't unset another state. Use
-- xdg_surface.unset_fullscreen for unsetting it.
-+ 0x0000 - 0x0FFF: xdg-shell core values, documented below.
-+ 0x1000 - 0x1FFF: GNOME
- </description>
-- </request>
-+ <entry name="maximized" value="1" summary="the surface is maximized">
-+ A non-zero value indicates the surface is maximized. Otherwise,
-+ the surface is unmaximized.
-+ </entry>
-+ <entry name="fullscreen" value="2" summary="the surface is fullscreen">
-+ A non-zero value indicates the surface is fullscreen. Otherwise,
-+ the surface is not fullscreen.
-+ </entry>
-+ </enum>
-
-- <request name="unset_fullscreen">
-- <description summary="unset the surface state as fullscreen">
-- Unset the surface fullscreen state.
-+ <request name="request_change_state">
-+ <description summary="client requests to change a surface's state">
-+ This asks the compositor to change the state. If the compositor wants
-+ to change the state, it will send a change_state event with the same
-+ state_type, value, and serial, and the event flow continues as if it
-+ it was initiated by the compositor.
-
-- Same negotiation as set_fullscreen must be used.
-+ If the compositor does not want to change the state, it will send a
-+ change_state to the client with the old value of the state.
- </description>
-+ <arg name="state_type" type="uint" summary="the state to set"/>
-+ <arg name="value" type="uint" summary="the value to change the state to"/>
-+ <arg name="serial" type="uint" summary="an event serial">
-+ This serial is so the client can know which change_state event corresponds
-+ to which request_change_state request it sent out.
-+ </arg>
- </request>
-
-- <event name="request_set_maximized">
-- <description summary="server requests that the client set maximized">
-- Event sent from the compositor to the client requesting that the client
-- goes to a maximized state. It's the client job to call set_maximized
-- and really trigger the maximized state.
-+ <event name="change_state">
-+ <description summary="compositor wants to change a surface's state">
-+ This event tells the client to change a surface's state. The client
-+ should respond with an ack_change_state request to the compositor to
-+ guarantee that the compositor knows that the client has seen it.
- </description>
-- </event>
-
-- <event name="request_unset_maximized">
-- <description summary="server requests that the client unset maximized">
-- Event sent from the compositor to the client requesting that the client
-- leaves the maximized state. It's the client job to call unset_maximized
-- and really leave the maximized state.
-- </description>
-+ <arg name="state_type" type="uint" summary="the state to set"/>
-+ <arg name="value" type="uint" summary="the value to change the state to"/>
-+ <arg name="serial" type="uint" summary="a serial for the compositor's own tracking"/>
- </event>
-
-- <request name="set_maximized">
-- <description summary="set the surface state as maximized">
-- Set the surface as maximized.
--
-- After this request, the compositor will send a configure event
-- informing the output size minus panel and other MW decorations.
--
-- This request informs the compositor that the next attached buffer
-- committed will be in a maximized state. The buffer size should be the
-- same size as the size informed in the configure event, if the client
-- doesn't want to leave any empty area.
-+ <request name="ack_change_state">
-+ <description summary="ack a change_state event">
-+ When a change_state event is received, a client should then ack it
-+ using the ack_change_state request to ensure that the compositor
-+ knows the client has seen the event.
-
-- In other words: the next attached buffer after set_maximized is the new
-- maximized buffer. And the surface will be positioned at the maximized
-- position on commit.
-+ By this point, the state is confirmed, and the next attach should
-+ contain the buffer drawn for the new state value.
-
-- A simple way to synchronize and wait for the correct configure event is
-- to use a wl_display.sync request right after the set_maximized request.
-- When the sync callback returns, the last configure event received just
-- before it will be the correct one, and should contain the right size
-- for the surface to maximize.
--
-- Setting one state won't unset another state. Use
-- xdg_surface.unset_maximized for unsetting it.
-+ The values here need to be the same as the values in the cooresponding
-+ change_state event.
- </description>
-+ <arg name="state_type" type="uint" summary="the state to set"/>
-+ <arg name="value" type="uint" summary="the value to change the state to"/>
-+ <arg name="serial" type="uint" summary="a serial to pass to change_state"/>
- </request>
-
-- <request name="unset_maximized">
-- <description summary="unset the surface state as maximized">
-- Unset the surface maximized state.
--
-- Same negotiation as set_maximized must be used.
-+ <request name="set_minimized">
-+ <description summary="minimize the surface">
-+ Minimize the surface.
- </description>
- </request>
-
-- <request name="set_minimized">
-- <description summary="set the surface state as minimized">
-- Set the surface minimized state.
--
-- Setting one state won't unset another state.
-+ <event name="activated">
-+ <description summary="surface was activated">
-+ The activated_set event is sent when this surface has been
-+ activated, which means that the surface has user attention.
-+ Window decorations should be updated accordingly. You should
-+ not use this event for anything but the style of decorations
-+ you display, use wl_keyboard.enter and wl_keyboard.leave for
-+ determining keyboard focus.
- </description>
-- </request>
-+ </event>
-
-- <event name="focused_set">
-- <description summary="surface was focused">
-- The focused_set event is sent when this surface has been
-- activated. Window decorations should be updated accordingly.
-+ <event name="deactivated">
-+ <description summary="surface was deactivated">
-+ The deactivate event is sent when this surface has been
-+ deactivated, which means that the surface lost user attention.
-+ Window decorations should be updated accordingly. You should
-+ not use this event for anything but the style of decorations
-+ you display, use wl_keyboard.enter and wl_keyboard.leave for
-+ determining keyboard focus.
- </description>
- </event>
-
-- <event name="focused_unset">
-- <description summary="surface was unfocused">
-- The focused_unset event is sent when this surface has been
-- deactivated, because another surface has been activated. Window
-- decorations should be updated accordingly.
-+ <event name="close">
-+ <description summary="surface wants to be closed">
-+ The close event is sent by the compositor when the user
-+ wants the surface to be closed. This should be equivalent to
-+ the user clicking the close button in client-side decorations,
-+ if your application has any...
-+
-+ This is only a request that the user intends to close your
-+ window. The client may choose to ignore this request, or show
-+ a dialog to ask the user to save their data...
- </description>
- </event>
- </interface>
-@@ -409,22 +431,6 @@
- </description>
- </request>
-
-- <request name="pong">
-- <description summary="respond to a ping event">
-- A client must respond to a ping event with a pong request or
-- the client may be deemed unresponsive.
-- </description>
-- <arg name="serial" type="uint" summary="serial of the ping event"/>
-- </request>
--
-- <event name="ping">
-- <description summary="ping client">
-- Ping a client to check if it is receiving events and sending
-- requests. A client is expected to reply with a pong request.
-- </description>
-- <arg name="serial" type="uint"/>
-- </event>
--
- <event name="popup_done">
- <description summary="popup interaction is done">
- The popup_done event is sent out when a popup grab is broken,
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 9ecf82f..73e3b7f 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -59,6 +59,7 @@ SOURCES += qwaylandintegration.cpp \
- qwaylanddatasource.cpp \
- qwaylandshellsurface.cpp \
- qwaylandwlshellsurface.cpp \
-+ qwaylandxdgshell.cpp \
- qwaylandxdgsurface.cpp \
- qwaylandextendedoutput.cpp \
- qwaylandextendedsurface.cpp \
-@@ -89,6 +90,7 @@ HEADERS += qwaylandintegration_p.h \
- qwaylanddatasource_p.h \
- qwaylandshellsurface_p.h \
- qwaylandwlshellsurface_p.h \
-+ qwaylandxdgshell_p.h \
- qwaylandxdgsurface_p.h \
- qwaylandextendedoutput_p.h \
- qwaylandextendedsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 7f953ad..2e25672 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -50,7 +50,7 @@
- #include "qwaylandclipboard_p.h"
- #include "qwaylanddatadevicemanager_p.h"
- #include "qwaylandhardwareintegration_p.h"
--
-+#include "qwaylandxdgshell_p.h"
-
- #include "qwaylandwindowmanagerintegration_p.h"
-
-@@ -209,8 +209,7 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
- mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
- } else if (interface == QStringLiteral("xdg_shell")
- && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
-- mShellXdg.reset(new QtWayland::xdg_shell(registry, id));
-- mShellXdg->use_unstable_version(QtWayland::xdg_shell::version_current);
-+ mShellXdg.reset(new QWaylandXdgShell(registry,id));
- } else if (interface == QStringLiteral("wl_shell")){
- mShell.reset(new QtWayland::wl_shell(registry, id));
- } else if (interface == QStringLiteral("wl_seat")) {
-@@ -275,4 +274,9 @@ void QWaylandDisplay::forceRoundTrip()
- wl_display_roundtrip(mDisplay);
- }
-
-+QtWayland::xdg_shell *QWaylandDisplay::shellXdg()
-+{
-+ return mShellXdg.data();
-+}
-+
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index cf5dfc2..f1b35a7 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -72,6 +72,7 @@ class QWaylandWindow;
- class QWaylandEventThread;
- class QWaylandIntegration;
- class QWaylandHardwareIntegration;
-+class QWaylandXdgShell;
-
- namespace QtWayland {
- class qt_output_extension;
-@@ -115,7 +116,7 @@ public:
- QtWayland::wl_compositor *compositor() { return &mCompositor; }
-
- QtWayland::wl_shell *shell() { return mShell.data(); }
-- QtWayland::xdg_shell *shellXdg() { return mShellXdg.data(); }
-+ QtWayland::xdg_shell *shellXdg();
-
- QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
- QWaylandInputDevice *defaultInputDevice() const;
-@@ -171,7 +172,7 @@ private:
- QThread *mEventThread;
- QWaylandEventThread *mEventThreadObject;
- QScopedPointer<QtWayland::wl_shell> mShell;
-- QScopedPointer<QtWayland::xdg_shell> mShellXdg;
-+ QScopedPointer<QWaylandXdgShell> mShellXdg;
- QList<QPlatformScreen *> mScreens;
- QList<QWaylandInputDevice *> mInputDevices;
- QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandxdgshell.cpp b/src/client/qwaylandxdgshell.cpp
-new file mode 100644
-index 0000000..eb9f91c
---- /dev/null
-+++ b/src/client/qwaylandxdgshell.cpp
-@@ -0,0 +1,77 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <philippe.coval@eurogiciel.fr>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandxdgshell_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandXdgShell::QWaylandXdgShell(struct ::xdg_shell *shell)
-+ : QtWayland::xdg_shell(shell)
-+{
-+}
-+
-+QWaylandXdgShell::QWaylandXdgShell(struct ::wl_registry *registry, uint32_t id)
-+ : QtWayland::xdg_shell(registry, id)
-+{
-+ use_unstable_version(QtWayland::xdg_shell::version_current);
-+}
-+
-+QWaylandXdgShell::~QWaylandXdgShell()
-+{
-+ xdg_shell_destroy(object());
-+}
-+
-+
-+void QWaylandXdgShell::xdg_shell_ping(uint32_t serial)
-+{
-+ pong(serial);
-+}
-+
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgshell_p.h b/src/client/qwaylandxdgshell_p.h
-new file mode 100644
-index 0000000..6a396bd
---- /dev/null
-+++ b/src/client/qwaylandxdgshell_p.h
-@@ -0,0 +1,73 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <philippe.coval@eurogiciel.fr>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDXDGSHELL_H
-+#define QWAYLANDXDGSHELL_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandXdgShell : public QtWayland::xdg_shell
-+{
-+public:
-+ QWaylandXdgShell(struct ::xdg_shell *shell);
-+ QWaylandXdgShell(struct ::wl_registry *registry, uint32_t id);
-+
-+ virtual ~QWaylandXdgShell();
-+
-+private:
-+ void xdg_shell_ping(uint32_t serial) Q_DECL_OVERRIDE;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDXDGSHELL_H
-diff --git a/src/client/qwaylandxdgsurface.cpp b/src/client/qwaylandxdgsurface.cpp
-index 1b8affa..5fb74d2 100644
---- a/src/client/qwaylandxdgsurface.cpp
-+++ b/src/client/qwaylandxdgsurface.cpp
-@@ -87,23 +87,25 @@ void QWaylandXdgSurface::move(QWaylandInputDevice *inputDevice)
-
- void QWaylandXdgSurface::setMaximized()
- {
-- m_maximized = true;
-- m_size = m_window->window()->geometry().size();
-- set_maximized();
-+ if (!m_maximized)
-+ request_change_state(XDG_SURFACE_STATE_MAXIMIZED, true, 0);
- }
-
- void QWaylandXdgSurface::setFullscreen()
- {
-- m_fullscreen = true;
-- m_size = m_window->window()->geometry().size();
-- set_fullscreen();
-+ if (!m_fullscreen)
-+ request_change_state(XDG_SURFACE_STATE_FULLSCREEN, true, 0);
- }
-
- void QWaylandXdgSurface::setNormal()
- {
- if (m_fullscreen || m_maximized || m_minimized) {
-- if (m_maximized) { unset_maximized(); }
-- if (m_fullscreen) { unset_fullscreen(); }
-+ if (m_maximized) {
-+ request_change_state(XDG_SURFACE_STATE_MAXIMIZED, false, 0);
-+ }
-+ if (m_fullscreen) {
-+ request_change_state(XDG_SURFACE_STATE_FULLSCREEN, false, 0);
-+ }
-
- m_fullscreen = m_maximized = m_minimized = false;
- setTopLevel();
-@@ -158,16 +160,48 @@ void QWaylandXdgSurface::setAppId(const QString & appId)
- return QtWayland::xdg_surface::set_app_id(appId);
- }
-
--void QWaylandXdgSurface::xdg_surface_ping(uint32_t serial)
-+void QWaylandXdgSurface::xdg_surface_configure(int32_t width, int32_t height)
- {
-- pong(serial);
-+ m_window->configure(0 , width, height);
- }
-
--void QWaylandXdgSurface::xdg_surface_configure(uint32_t edges, int32_t width,
-- int32_t height)
-+void QWaylandXdgSurface::xdg_surface_change_state(uint32_t state,
-+ uint32_t value,
-+ uint32_t serial)
- {
-- m_window->configure(edges, width, height);
-+
-+ if (state == XDG_SURFACE_STATE_MAXIMIZED
-+ || state == XDG_SURFACE_STATE_FULLSCREEN) {
-+ if (value) {
-+ m_size = m_window->window()->geometry().size();
-+ } else {
-+ QMargins m = m_window->frameMargins();
-+ m_window->configure(0, m_size.width() + m.left() + m.right(), m_size.height() + m.top() + m.bottom());
-+ }
-+ }
-+
-+ switch (state) {
-+ case XDG_SURFACE_STATE_MAXIMIZED:
-+ m_maximized = value;
-+ break;
-+ case XDG_SURFACE_STATE_FULLSCREEN:
-+ m_fullscreen = value;
-+ break;
-+ }
-+
-+ xdg_surface_ack_change_state(object(), state, value, serial);
- }
-
-+void QWaylandXdgSurface::xdg_surface_activated()
-+{
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_deactivated()
-+{
-+}
-+
-+void QWaylandXdgSurface::xdg_surface_close()
-+{
-+}
-
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylandxdgsurface_p.h b/src/client/qwaylandxdgsurface_p.h
-index 744d3f3..d2a154e 100644
---- a/src/client/qwaylandxdgsurface_p.h
-+++ b/src/client/qwaylandxdgsurface_p.h
-@@ -93,10 +93,15 @@ private:
- bool m_fullscreen;
- QSize m_size;
-
-- void xdg_surface_ping(uint32_t serial) Q_DECL_OVERRIDE;
-- void xdg_surface_configure(uint32_t edges,
-- int32_t width,
-+ void xdg_surface_configure(int32_t width,
- int32_t height) Q_DECL_OVERRIDE;
-+ void xdg_surface_change_state(uint32_t state,
-+ uint32_t value,
-+ uint32_t serial) Q_DECL_OVERRIDE;
-+ void xdg_surface_activated() Q_DECL_OVERRIDE;
-+ void xdg_surface_deactivated() Q_DECL_OVERRIDE;
-+ void xdg_surface_close() Q_DECL_OVERRIDE;
-+
- friend class QWaylandWindow;
- };
-
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch
deleted file mode 100644
index 413459fb6..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From b4f032b13338ad6c21024177b031c75063ef7493 Mon Sep 17 00:00:00 2001
-From: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-Date: Sun, 7 Sep 2014 08:19:30 +0200
-Subject: [PATCH 20/21] Add IVI-Shell protocol file version patch v6
-
-Source : http://lists.freedesktop.org/archives/wayland-devel/2014-June/015617.html
-
-This file comes from the last proposed definition of the IVI-Shell protocol,
-and will need to be refreshed on protocol update.
-
-Task-number: QTBUG-XXXXX/part/1of2
-
-Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
----
- src/3rdparty/protocol/ivi-application.xml | 101 ++++++++++++++++++++++++++++++
- 1 file changed, 101 insertions(+)
- create mode 100644 src/3rdparty/protocol/ivi-application.xml
-
-diff --git a/src/3rdparty/protocol/ivi-application.xml b/src/3rdparty/protocol/ivi-application.xml
-new file mode 100644
-index 0000000..833fd38
---- /dev/null
-+++ b/src/3rdparty/protocol/ivi-application.xml
-@@ -0,0 +1,101 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="ivi_application">
-+
-+ <copyright>
-+ Copyright (C) 2013 DENSO CORPORATION
-+ Copyright (c) 2013 BMW Car IT GmbH
-+
-+ Permission is hereby granted, free of charge, to any person obtaining a copy
-+ of this software and associated documentation files (the "Software"), to deal
-+ in the Software without restriction, including without limitation the rights
-+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-+ copies of the Software, and to permit persons to whom the Software is
-+ furnished to do so, subject to the following conditions:
-+
-+ The above copyright notice and this permission notice shall be included in
-+ all copies or substantial portions of the Software.
-+
-+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-+ THE SOFTWARE.
-+ </copyright>
-+
-+ <interface name="ivi_surface" version="1">
-+ <description summary="application interface to surface in ivi compositor"/>
-+
-+ <request name="destroy" type="destructor">
-+ <description summary="destroy ivi_surface">
-+ This removes link from ivi_id to wl_surface and destroys ivi_surface.
-+ </description>
-+ </request>
-+
-+ <event name="visibility">
-+ <description summary="visibility of surface in ivi compositor has changed">
-+ The new visibility state is provided in argument visibility.
-+ If visibility is 0, the surface has become invisible.
-+ If visibility is not 0, the surface has become visible.
-+ </description>
-+ <arg name="visibility" type="int"/>
-+ </event>
-+
-+ <enum name="warning_code">
-+ <description summary="possible warning codes returned by ivi compositor">
-+ These define all possible warning codes returned by ivi compositor on server-side warnings.
-+ invalid_wl_surface:
-+ - wl_surface already has a another role.
-+ - wl_surface is destroyed before the ivi_surface is destroyed.
-+ ivi_id_in_use: ivi_id is already assigned by another application.
-+ </description>
-+ <entry name="invalid_wl_surface" value="1" summary="wl_surface is invalid"/>
-+ <entry name="ivi_id_in_use" value="2" summary="ivi_id is in use and can not be shared"/>
-+ </enum>
-+
-+ <event name="warning">
-+ <description summary="server-side warning detected">
-+ The ivi compositor encountered warning while processing a request by this
-+ application. The warning is defined by argument warning_code and optional
-+ warning_text. If the warning is detected, client shall destroy the ivi_surface
-+ object.
-+
-+ When a warning event is sent, the compositor turns the ivi_surface object inert.
-+ The ivi_surface will not deliver further events, all requests on it are ignored
-+ except 'destroy', and the association to the ivi_id is removed. The client
-+ should destroy the ivi_surface object. If an inert ivi_surface object is used as
-+ an argument to any other object's request, that request will [produce a fatal
-+ error / produce a warning / be ignored].
-+ </description>
-+ <arg name="warning_code" type="int"/>
-+ <arg name="warning_text" type="string" allow-null="true"/>
-+ </event>
-+
-+ </interface>
-+
-+ <interface name="ivi_application" version="1">
-+ <description summary="create ivi-style surfaces">
-+ This interface is implemented by servers that provide desktop-style user interfaces.
-+ It allows clients to associate a ivi_surface with a basic surface.
-+ </description>
-+
-+ <request name="surface_create">
-+ <description summary="create ivi_surface with numeric ID in ivi compositor">
-+ surface_create will create a interface:ivi_surface with numeric ID; ivi_id in
-+ ivi compositor. These ivi_ids are defined as unique in the system to identify
-+ it inside of ivi compositor. The ivi compositor implements business logic how to
-+ set properties of the surface with ivi_id according to status of the system.
-+ E.g. a unique ID for Car Navigation application is used for implementing special
-+ logic of the application about where it shall be located.
-+ if a wl_surface which already has another role is set, the server regards this as
-+ error and disconnects the client.
-+ </description>
-+ <arg name="ivi_id" type="uint"/>
-+ <arg name="surface" type="object" interface="wl_surface"/>
-+ <arg name="id" type="new_id" interface="ivi_surface"/>
-+ </request>
-+
-+ </interface>
-+
-+</protocol>
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch
deleted file mode 100644
index 8723def26..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0021-Implement-initial-IVI-Shell-support.patch
+++ /dev/null
@@ -1,539 +0,0 @@
-From 1ddfa43692cabae0f552351cfbc09377e479471e Mon Sep 17 00:00:00 2001
-From: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
-Date: Mon, 8 Sep 2014 11:38:01 +0200
-Subject: [PATCH 21/21] Implement initial IVI-Shell support
-
-IVI-Shell provides a shell interface for Weston, which maps the GENIVI API (http://www.genivi.org) for In-Vehicle Infotainment.
-
-This patch enables detecting the IVI-Shell interface at runtime, and creating compatible surfaces if found.
-
-Task-number: QTBUG-XXXXX/part/2of2
-
-Change-Id: I1f6c11bf56b727a54fb48faab9c076b61d635440
-Signed-off-by: Manuel Bachmann <manuel.bachmann@open.eurogiciel.org>
----
- src/client/client.pro | 5 ++
- src/client/qwaylanddisplay.cpp | 9 ++++
- src/client/qwaylanddisplay_p.h | 5 ++
- src/client/qwaylandivishell.cpp | 69 +++++++++++++++++++++++++
- src/client/qwaylandivishell_p.h | 70 +++++++++++++++++++++++++
- src/client/qwaylandivisurface.cpp | 105 ++++++++++++++++++++++++++++++++++++++
- src/client/qwaylandivisurface_p.h | 90 ++++++++++++++++++++++++++++++++
- src/client/qwaylandwindow.cpp | 8 ++-
- 8 files changed, 360 insertions(+), 1 deletion(-)
- create mode 100644 src/client/qwaylandivishell.cpp
- create mode 100644 src/client/qwaylandivishell_p.h
- create mode 100644 src/client/qwaylandivisurface.cpp
- create mode 100644 src/client/qwaylandivisurface_p.h
-
-diff --git a/src/client/client.pro b/src/client/client.pro
-index 73e3b7f..adb526d 100644
---- a/src/client/client.pro
-+++ b/src/client/client.pro
-@@ -42,6 +42,7 @@ WAYLANDCLIENTSOURCES += \
- ../extensions/windowmanager.xml \
- ../3rdparty/protocol/text.xml \
- ../3rdparty/protocol/xdg-shell.xml \
-+ ../3rdparty/protocol/ivi-application.xml \
-
- SOURCES += qwaylandintegration.cpp \
- qwaylandnativeinterface.cpp \
-@@ -61,6 +62,8 @@ SOURCES += qwaylandintegration.cpp \
- qwaylandwlshellsurface.cpp \
- qwaylandxdgshell.cpp \
- qwaylandxdgsurface.cpp \
-+ qwaylandivishell.cpp \
-+ qwaylandivisurface.cpp \
- qwaylandextendedoutput.cpp \
- qwaylandextendedsurface.cpp \
- qwaylandsubsurface.cpp \
-@@ -92,6 +95,8 @@ HEADERS += qwaylandintegration_p.h \
- qwaylandwlshellsurface_p.h \
- qwaylandxdgshell_p.h \
- qwaylandxdgsurface_p.h \
-+ qwaylandivishell_p.h \
-+ qwaylandivisurface_p.h \
- qwaylandextendedoutput_p.h \
- qwaylandextendedsurface_p.h \
- qwaylandsubsurface_p.h \
-diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp
-index 2e25672..2a93db7 100644
---- a/src/client/qwaylanddisplay.cpp
-+++ b/src/client/qwaylanddisplay.cpp
-@@ -51,6 +51,7 @@
- #include "qwaylanddatadevicemanager_p.h"
- #include "qwaylandhardwareintegration_p.h"
- #include "qwaylandxdgshell_p.h"
-+#include "qwaylandivishell_p.h"
-
- #include "qwaylandwindowmanagerintegration_p.h"
-
-@@ -62,6 +63,7 @@
-
- #include <QtWaylandClient/private/qwayland-text.h>
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-
- #include <QtCore/QAbstractEventDispatcher>
- #include <QtGui/private/qguiapplication_p.h>
-@@ -207,6 +209,8 @@ void QWaylandDisplay::registry_global(uint32_t id, const QString &interface, uin
- mCompositor.init(registry, id);
- } else if (interface == QStringLiteral("wl_shm")) {
- mShm = static_cast<struct wl_shm *>(wl_registry_bind(registry, id, &wl_shm_interface,1));
-+ } else if (interface == QStringLiteral("ivi_application")) {
-+ mShellIvi.reset(new QWaylandIviShell(registry,id));
- } else if (interface == QStringLiteral("xdg_shell")
- && qEnvironmentVariableIsSet("QT_WAYLAND_USE_XDG_SHELL")) {
- mShellXdg.reset(new QWaylandXdgShell(registry,id));
-@@ -279,4 +283,9 @@ QtWayland::xdg_shell *QWaylandDisplay::shellXdg()
- return mShellXdg.data();
- }
-
-+QtWayland::ivi_application *QWaylandDisplay::shellIvi()
-+{
-+ return mShellIvi.data();
-+}
-+
- QT_END_NAMESPACE
-diff --git a/src/client/qwaylanddisplay_p.h b/src/client/qwaylanddisplay_p.h
-index f1b35a7..b9c686c 100644
---- a/src/client/qwaylanddisplay_p.h
-+++ b/src/client/qwaylanddisplay_p.h
-@@ -52,6 +52,7 @@
- #include <QtWaylandClient/private/qwayland-wayland.h>
- #include <QtWaylandClient/private/qwaylandclientexport_p.h>
- #include <QtWaylandClient/private/qwayland-xdg-shell.h>
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-
- struct wl_cursor_image;
-
-@@ -72,6 +73,7 @@ class QWaylandWindow;
- class QWaylandEventThread;
- class QWaylandIntegration;
- class QWaylandHardwareIntegration;
-+class QWaylandIviShell;
- class QWaylandXdgShell;
-
- namespace QtWayland {
-@@ -81,6 +83,7 @@ namespace QtWayland {
- class qt_surface_extension;
- class wl_text_input_manager;
- class xdg_shell;
-+ class ivi_application;
- }
-
- typedef void (*RegistryListener)(void *data,
-@@ -117,6 +120,7 @@ public:
-
- QtWayland::wl_shell *shell() { return mShell.data(); }
- QtWayland::xdg_shell *shellXdg();
-+ QtWayland::ivi_application *shellIvi();
-
- QList<QWaylandInputDevice *> inputDevices() const { return mInputDevices; }
- QWaylandInputDevice *defaultInputDevice() const;
-@@ -173,6 +177,7 @@ private:
- QWaylandEventThread *mEventThreadObject;
- QScopedPointer<QtWayland::wl_shell> mShell;
- QScopedPointer<QWaylandXdgShell> mShellXdg;
-+ QScopedPointer<QWaylandIviShell> mShellIvi;
- QList<QPlatformScreen *> mScreens;
- QList<QWaylandInputDevice *> mInputDevices;
- QList<Listener> mRegistryListeners;
-diff --git a/src/client/qwaylandivishell.cpp b/src/client/qwaylandivishell.cpp
-new file mode 100644
-index 0000000..9d63d0d
---- /dev/null
-+++ b/src/client/qwaylandivishell.cpp
-@@ -0,0 +1,69 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <manuel.bachmann@open.eurogiciel.org>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandivishell_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandIviShell::QWaylandIviShell(struct ::ivi_application *shell)
-+ : QtWayland::ivi_application(shell)
-+{
-+}
-+
-+QWaylandIviShell::QWaylandIviShell(struct ::wl_registry *registry, uint32_t id)
-+ : QtWayland::ivi_application(registry, id)
-+{
-+}
-+
-+QWaylandIviShell::~QWaylandIviShell()
-+{
-+ ivi_application_destroy(object());
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandivishell_p.h b/src/client/qwaylandivishell_p.h
-new file mode 100644
-index 0000000..f9f6983
---- /dev/null
-+++ b/src/client/qwaylandivishell_p.h
-@@ -0,0 +1,70 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2014 Eurogiciel, author: <manuel.bachmann@open.eurogiciel.org>
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISHELL_H
-+#define QWAYLANDIVISHELL_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviShell : public QtWayland::ivi_application
-+{
-+public:
-+ QWaylandIviShell(struct ::ivi_application *shell);
-+ QWaylandIviShell(struct ::wl_registry *registry, uint32_t id);
-+
-+ virtual ~QWaylandIviShell();
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISHELL_H
-diff --git a/src/client/qwaylandivisurface.cpp b/src/client/qwaylandivisurface.cpp
-new file mode 100644
-index 0000000..a12309e
---- /dev/null
-+++ b/src/client/qwaylandivisurface.cpp
-@@ -0,0 +1,105 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include "qwaylandivisurface_p.h"
-+
-+#include "qwaylanddisplay_p.h"
-+#include "qwaylandwindow_p.h"
-+#include "qwaylandinputdevice_p.h"
-+#include "qwaylanddecoration_p.h"
-+#include "qwaylandscreen_p.h"
-+
-+#include <QtCore/QDebug>
-+
-+QT_BEGIN_NAMESPACE
-+
-+QWaylandIviSurface::QWaylandIviSurface(struct ::ivi_surface *ivi_surface, QWaylandWindow *window)
-+ : QtWayland::ivi_surface(ivi_surface)
-+ , m_window(window)
-+{
-+}
-+
-+QWaylandIviSurface::~QWaylandIviSurface()
-+{
-+ ivi_surface_destroy(object());
-+}
-+
-+void QWaylandIviSurface::resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges)
-+{
-+}
-+
-+void QWaylandIviSurface::move(QWaylandInputDevice *inputDevice)
-+{
-+}
-+
-+void QWaylandIviSurface::setMaximized()
-+{
-+}
-+
-+void QWaylandIviSurface::setFullscreen()
-+{
-+}
-+
-+void QWaylandIviSurface::setNormal()
-+{
-+}
-+
-+void QWaylandIviSurface::setMinimized()
-+{
-+}
-+
-+void QWaylandIviSurface::setTopLevel()
-+{
-+}
-+
-+void QWaylandIviSurface::updateTransientParent(QWindow *parent)
-+{
-+}
-+
-+void QWaylandIviSurface::setTitle(const QString & title)
-+{
-+}
-+
-+void QWaylandIviSurface::setAppId(const QString & appId)
-+{
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/client/qwaylandivisurface_p.h b/src/client/qwaylandivisurface_p.h
-new file mode 100644
-index 0000000..c6a7ce6
---- /dev/null
-+++ b/src/client/qwaylandivisurface_p.h
-@@ -0,0 +1,90 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QWAYLANDIVISURFACE_H
-+#define QWAYLANDIVISURFACE_H
-+
-+#include <QtCore/QSize>
-+
-+#include <wayland-client.h>
-+
-+#include <QtWaylandClient/private/qwayland-ivi-application.h>
-+#include <QtWaylandClient/private/qwaylandclientexport_p.h>
-+#include "qwaylandshellsurface_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+class QWaylandWindow;
-+class QWaylandInputDevice;
-+class QWindow;
-+class QWaylandExtendedSurface;
-+
-+class Q_WAYLAND_CLIENT_EXPORT QWaylandIviSurface : public QtWayland::ivi_surface
-+ , public QWaylandShellSurface
-+{
-+public:
-+ QWaylandIviSurface(struct ::ivi_surface *shell_surface, QWaylandWindow *window);
-+ virtual ~QWaylandIviSurface();
-+
-+ void resize(QWaylandInputDevice *inputDevice, enum wl_shell_surface_resize edges) Q_DECL_OVERRIDE;
-+ void move(QWaylandInputDevice *inputDevice) Q_DECL_OVERRIDE;
-+
-+ void setTitle(const QString &title) Q_DECL_OVERRIDE;
-+ void setAppId(const QString &appId) Q_DECL_OVERRIDE;
-+
-+private:
-+ void setMaximized() Q_DECL_OVERRIDE;
-+ void setFullscreen() Q_DECL_OVERRIDE;
-+ void setNormal() Q_DECL_OVERRIDE;
-+ void setMinimized() Q_DECL_OVERRIDE;
-+
-+ void setTopLevel() Q_DECL_OVERRIDE;
-+ void updateTransientParent(QWindow *parent) Q_DECL_OVERRIDE;
-+
-+private:
-+ QWaylandWindow *m_window;
-+
-+ friend class QWaylandWindow;
-+};
-+
-+QT_END_NAMESPACE
-+
-+#endif // QWAYLANDIVISURFACE_H
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 3fb3a49..45a58f2 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -39,6 +39,8 @@
- **
- ****************************************************************************/
-
-+#include <unistd.h>
-+
- #include "qwaylandwindow_p.h"
-
- #include "qwaylandbuffer_p.h"
-@@ -48,10 +50,12 @@
- #include "qwaylandshellsurface_p.h"
- #include "qwaylandwlshellsurface_p.h"
- #include "qwaylandxdgsurface_p.h"
-+#include "qwaylandivisurface_p.h"
- #include "qwaylandextendedsurface_p.h"
- #include "qwaylandsubsurface_p.h"
- #include "qwaylanddecoration_p.h"
- #include "qwaylandwindowmanagerintegration_p.h"
-+#define IVI_SURFACE_ID 8000
-
- #include <QtCore/QFileInfo>
- #include <QtGui/QWindow>
-@@ -95,7 +99,9 @@ QWaylandWindow::QWaylandWindow(QWindow *window)
- mWindowId = id++;
-
- if (!(window->flags() & Qt::BypassWindowManagerHint)) {
-- if (mDisplay->shellXdg()) {
-+ if (mDisplay->shellIvi()) {
-+ mShellSurface = new QWaylandIviSurface(mDisplay->shellIvi()->surface_create(IVI_SURFACE_ID + getpid(), object()), this);
-+ } else if (mDisplay->shellXdg()) {
- if (window->type() & Qt::Window) {
- mShellSurface = new QWaylandXdgSurface(mDisplay->shellXdg()->get_xdg_surface(object()), this);
- }
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch
deleted file mode 100644
index 99b519399..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/0099_qtwayland_no_evdev.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/tests/auto/compositor/compositor/compositor.pro b/tests/auto/compositor/compositor/compositor.pro
-index f0cdaf32..64b60218 100644
---- a/tests/auto/compositor/compositor/compositor.pro
-+++ b/tests/auto/compositor/compositor/compositor.pro
-@@ -7,9 +7,6 @@ QT += core-private gui-private waylandcompositor waylandcompositor-private
-
- QMAKE_USE += wayland-client wayland-server
-
--qtConfig(xkbcommon-evdev): \
-- QMAKE_USE += xkbcommon_evdev
--
- WAYLANDCLIENTSOURCES += \
- ../../../../src/3rdparty/protocol/xdg-shell.xml \
- ../../../../src/3rdparty/protocol/ivi-application.xml \
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch
deleted file mode 100644
index bca61b5db..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/UNUSED_NEEDS_CHECK_YOCTO_0018-packaging-enable-xdg-shell-at-runtime.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9617c349a212d5407087daf4f4a2386bce94ecc1 Mon Sep 17 00:00:00 2001
-From: Philippe Coval <philippe.coval@open.eurogiciel.org>
-Date: Thu, 12 Jun 2014 11:55:29 +0200
-Subject: [PATCH 18/21] packaging: enable xdg-shell at runtime
-
-Change-Id: Iffbae496f1e09c8fa44a28d4eb515678e3bbb297
-Bug-Tizen: TIVI-3113/part
-Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
----
- packaging/qt5-qtwayland.spec | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/packaging/qt5-qtwayland.spec b/packaging/qt5-qtwayland.spec
-index cba18e2..ff32185 100644
---- a/packaging/qt5-qtwayland.spec
-+++ b/packaging/qt5-qtwayland.spec
-@@ -97,6 +97,11 @@ rm -rf %{buildroot}
-
- %post
- /sbin/ldconfig
-+
-+f="/etc/profile.d/qt.sh"
-+grep QT_WAYLAND_USE_XDG_SHELL $f \
-+ || echo "QT_WAYLAND_USE_XDG_SHELL='defined'; export QT_WAYLAND_USE_XDG_SHELL" >> $f
-+
- %postun
- /sbin/ldconfig
-
---
-1.9.1
-
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch
deleted file mode 100644
index f113266e4..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland/disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: git/qtwayland.pro
-===================================================================
---- git.orig/qtwayland.pro 2014-09-18 12:01:23.883582734 +0300
-+++ git/qtwayland.pro 2014-09-18 12:05:49.743574961 +0300
-@@ -7,7 +7,6 @@
- qtCompileTest(egl)
- qtCompileTest(brcm_egl)
- qtCompileTest(glx)
--qtCompileTest(xcomposite)
- qtCompileTest(drm_egl_server)
-
- load(qt_parts)
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland_%.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtwayland_%.bbappend
deleted file mode 100644
index 9807840ca..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwayland_%.bbappend
+++ /dev/null
@@ -1,36 +0,0 @@
-FILESEXTRAPATHS_append := ":${THISDIR}/${PN}"
-
-# QT_MODULE_BRANCH = "5.4"
-
-# TODO:
-# These patches for IVI-SHELL are tempolary disabled because of issues. And new
-# patches are proposed.
-#
-# file://0020-Add-IVI-Shell-protocol-file-version-patch-v6.patch \
-# file://0021-Implement-initial-IVI-Shell-support.patch \
-# file://0001-protocol-update-3rd-party-ivi-application-protocol.patch \
-# file://0002-qwaylandwindow-add-support-for-IVI-Surface-ID-proper.patch \
-#
-# The xdg-shell merged into upstream, so we don't need these patch anymore.
-# But xdg-shell doesn't work well in current AGL Distro because of
-# mismatch of protocol versions between server(weston) and client(Qt Apps).
-#
-# file://0016-xdg-shell-Add-xdg-shell-protocol-file-version-1.4.0.patch \
-# file://0017-xdg-shell-Add-minimize-feature-to-QWindow-using-wayl.patch \
-# file://0019-xdg-shell-upgrade-to-support-current-version-weston-.patch \
-#
-
-SRC_URI_append = "\
- file://0010-Added-manifest-file-according-to-smack-3-domain-mode.patch \
- "
-SRC_URI_append_checkforkrogoth = "\
- file://disable_xcomposite_egl_qt_wayland_client_buffer_integration.patch \
- file://0001-Implement-initial-IVI-shell-support-with-shell-integ.patch \
- file://0002-Fix-multiple-QWindow.patch \
- "
-
-
-DEPENDS_append_koelsch = " libegl gles-user-module"
-DEPENDS_append_porter = " ${@base_conditional('PREFERRED_PROVIDER_virtual/egl', 'mesa', 'mesa', 'libegl gles-user-module', d)}"
-
-SRC_URI_append = " file://0099_qtwayland_no_evdev.patch "
diff --git a/meta-agl-profile-demo/recipes-qt/qt5/qtwebkit_%.bbappend b/meta-agl-profile-demo/recipes-qt/qt5/qtwebkit_%.bbappend
deleted file mode 100644
index 0420578e1..000000000
--- a/meta-agl-profile-demo/recipes-qt/qt5/qtwebkit_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG = "gstreamer qtlocation qtmultimedia qtsensors"