smf/inc/smfclient/smfprovider.h
changeset 3 0446eb7b28aa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smf/inc/smfclient/smfprovider.h	Thu Apr 15 15:35:36 2010 +0530
@@ -0,0 +1,91 @@
+/**
+ * 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