diff -r 885c2596c964 -r 5d007b20cfd0 qthighway/xqservice/src/xqappmgr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qthighway/xqservice/src/xqappmgr.h Tue Aug 31 16:02:37 2010 +0300 @@ -0,0 +1,112 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* 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 Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ + +#ifndef XQAPPLICATIONMANAGER_H +#define XQAPPLICATIONMANAGER_H + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +class XQApplicationManagerPrivate; + +class XQAIW_EXPORT XQApplicationManager : public QObject +{ + Q_OBJECT + +public: + + /*! + For the getDrmAttributes() function + */ + enum DrmAttribute + { + DrmIntAttributeBase=0, // Base value for the DRM integer attributes + IsProtected = DrmIntAttributeBase+0, /*!< */ + IsForwardable = DrmIntAttributeBase+1, /*!< */ + // For others DrmIntAttributeBase+N, see N from the caf/caftypes.h + + DrmStringAttributeBase = 100, // Base value for the DRM string attributes + Description = DrmStringAttributeBase+0, /*!< */ + MimeType = DrmStringAttributeBase+1 /*!< */ + // For others, DrmIntAttributeBase+N, see N from the caf/caftypes.h + }; + + /*! + For the status() function + */ + enum ServiceStatus + { + Unknown=0, /*!< Not known */ + Enabled, /*!< Service enabled */ + Disabled /*!< Service disabled, e.g. required config not OK */ + }; + + XQApplicationManager(); + virtual ~XQApplicationManager(); + +public: + + XQAiwRequest* create( const QString& interface, const QString& operation, bool embedded = true); + + XQAiwRequest* create( const XQAiwInterfaceDescriptor& implementation, const QString& operation, bool embedded = true); + + XQAiwRequest* create( const QString& service, const QString& interface, const QString& operation, bool embedded = true); + + QList list(const QString& interface, const QString& operation); + QList list(const QString& service, const QString& interface, const QString& operation); + + XQAiwRequest* create( const QUrl &url, bool embedded = true); + XQAiwRequest* create( const QUrl &url, const XQAiwInterfaceDescriptor& implementation, bool embedded = true); + XQAiwRequest* create( const QFile &file, bool embedded = true); + XQAiwRequest* create( const QFile &file, const XQAiwInterfaceDescriptor& implementation, bool embedded = true); + + QList list(const QUrl& uri); + QList list(const QFile& file); + + QList list(const XQSharableFile& file); + XQAiwRequest* create( const XQSharableFile &file, bool embedded = true); + XQAiwRequest* create( const XQSharableFile &file, const XQAiwInterfaceDescriptor& implementation, bool embedded = true); + + int lastError() const; + bool isRunning(const XQAiwInterfaceDescriptor& implementation) const; + + bool getDrmAttributes(const QFile &file, const QList &attributeNames, QVariantList &attributeValues); + bool getDrmAttributes(const XQSharableFile &file, const QList &attributeNames, QVariantList &attributeValues); + + ServiceStatus status(const XQAiwInterfaceDescriptor& implementation); + +signals: + +private: + // Disable copy contructor + Q_DISABLE_COPY(XQApplicationManager) + XQApplicationManagerPrivate *d; +}; + +#endif