/**
* Copyright (c) 2010 Sasken Communication Technologies Ltd.
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html"
*
* Initial Contributors:
* Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
*
* Contributors:
* Manasij Roy, Nalina Hariharan
*
* Description:
* The SmfEvent class represents an event
*
*/
#ifndef SMFPROVIDER_H
#define SMFPROVIDER_H
#include <QObject>
#include <QImage>
#include <QUrl>
#include "../common/SmfClientGlobal.h"
/**
* @ingroup smf_client_group
* Interface for a base service provider. Other service provider classes contains
* implementation of this base class so that each has access to service provider
* information.
* All of the functionality described here should be implemented by a service
* specific plug-in object.
*/
class SMFCLIENT_EXPORT SmfProvider : public QObject
{
Q_OBJECT
public:
/**
* Seeing as this is a plug-in implementation, these will realistically be generated by SMF factory of some kind
*/
SmfProvider(QObject* parent = 0);
~SmfProvider();
public:
/**
* Localizable name of the service
* @return service name
*/
QString& serviceName() const;
/**
* Logo of the service
* @return logo image of the service
*/
QImage& serviceIcon() const;
/**
* Readable service description
* @return service description
*/
QString description() const;
/*
* Website of the service
*/
QUrl serviceUrl() const;
/**
* URL of the application providing this service
*/
QUrl applicationUrl() const; //
/**
* service types - list of interfaces that this provider support
*/
QList<QString> serviceTypes() const;
};
/**
* Externalization
*/
QDataStream &operator<<(QDataStream &, const SmfProvider&);
/**
* Internalization
*/
QDataStream &operator>>(QDataStream &, SmfProvider&);
#endif // SMFPROVIDER_H