example/clientapi/smf/inc/smfclient/smfprovider.h
changeset 1 4b1e636e8a71
child 2 86af6c333601
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/clientapi/smf/inc/smfclient/smfprovider.h	Thu Mar 25 14:44:08 2010 +0530
@@ -0,0 +1,85 @@
+/**
+* Copyright (c) 2010 Sasken Communication Technologies Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "{License}"
+* which accompanies  this distribution, and is available
+* at the URL "{LicenseUrl}".
+*
+* Initial Contributors:
+* Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
+*
+* Contributors:
+*
+* Description:
+* Interface spefication for sfm service provider
+*
+*/
+
+#ifndef SMFPROVIDER_H
+#define SMFPROVIDER_H
+
+#include <QObject>
+#include <QImage>
+#include <QUrl>
+
+#include "../common/SmfClientGlobal.h"
+/**
+ * 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
+   */
+  virtual QString serviceName() = 0; 
+  
+  /**
+   * Logo of the service
+   * @return logo image of the service
+   */
+  virtual QImage serviceIcon() = 0; // 
+  
+  /**
+   * Readable service description
+   * @return service description
+   */
+  virtual QString description() = 0; // readable service description
+  
+  /*
+   * Website of the service
+   */
+  virtual QUrl serviceUrl() = 0; //
+  
+  /**
+   * URL of the application providing this service
+   */
+  virtual QUrl applicationUrl() = 0; //
+  
+};
+/**
+* Externalization
+*/
+QDataStream &operator<<(QDataStream &, const SmfProvider&);
+/**
+ * Internalization
+ */
+QDataStream &operator>>(QDataStream &, SmfProvider&);
+SMF_GETSERVICES(SmfProvider, "org.symbian.smf.client.provider\0.2")
+#endif // SMFPROVIDER_H