diff options
Diffstat (limited to 'src/plugins/blackberry/mediaplayer/bbutil.cpp')
-rw-r--r-- | src/plugins/blackberry/mediaplayer/bbutil.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/plugins/blackberry/mediaplayer/bbutil.cpp b/src/plugins/blackberry/mediaplayer/bbutil.cpp index 9fef98a3a..2e95c3571 100644 --- a/src/plugins/blackberry/mediaplayer/bbutil.cpp +++ b/src/plugins/blackberry/mediaplayer/bbutil.cpp @@ -40,7 +40,12 @@ ****************************************************************************/ #include "bbutil.h" -#include <QtCore/qstring.h> +#include <QDebug> +#include <QDir> +#include <QFile> +#include <QString> +#include <QXmlStreamReader> + #include <mm/renderer.h> QT_BEGIN_NAMESPACE @@ -97,4 +102,28 @@ QString mmErrorMessage(const QString &msg, mmr_context_t *context, int *errorCod } } +bool checkForDrmPermission() +{ + QDir sandboxDir = QDir::home(); // always returns 'data' directory + sandboxDir.cdUp(); // change to app sandbox directory + + QFile file(sandboxDir.filePath("app/native/bar-descriptor.xml")); + if (!file.open(QIODevice::ReadOnly)) { + qWarning() << "checkForDrmPermission: Unable to open bar-descriptor.xml"; + return false; + } + + QXmlStreamReader reader(&file); + while (!reader.atEnd()) { + reader.readNextStartElement(); + if (reader.name() == QLatin1String("action") + || reader.name() == QLatin1String("permission")) { + if (reader.readElementText().trimmed() == QLatin1String("access_protected_media")) + return true; + } + } + + return false; +} + QT_END_NAMESPACE |