example/clientapi/smf/inc/smfclient/smfprovider.h
changeset 2 86af6c333601
parent 1 4b1e636e8a71
equal deleted inserted replaced
1:4b1e636e8a71 2:86af6c333601
     1 /**
     1 /**
     2 * Copyright (c) 2010 Sasken Communication Technologies Ltd.
     2  * Copyright (c) 2010 Sasken Communication Technologies Ltd.
     3 * All rights reserved.
     3  * All rights reserved.
     4 * This component and the accompanying materials are made available
     4  * This component and the accompanying materials are made available
     5 * under the terms of the "{License}"
     5  * under the terms of the "Eclipse Public License v1.0" 
     6 * which accompanies  this distribution, and is available
     6  * which accompanies  this distribution, and is available
     7 * at the URL "{LicenseUrl}".
     7  * at the URL "http://www.eclipse.org/legal/epl-v10.html"
     8 *
     8  *
     9 * Initial Contributors:
     9  * Initial Contributors:
    10 * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
    10  * Chandradeep Gandhi, Sasken Communication Technologies Ltd - Initial contribution
    11 *
    11  *
    12 * Contributors:
    12  * Contributors:
    13 *
    13  * Manasij Roy, Nalina Hariharan
    14 * Description:
    14  * 
    15 * Interface spefication for sfm service provider
    15  * Description:
    16 *
    16  * The SmfEvent class represents an event
    17 */
    17  *
       
    18  */
    18 
    19 
    19 #ifndef SMFPROVIDER_H
    20 #ifndef SMFPROVIDER_H
    20 #define SMFPROVIDER_H
    21 #define SMFPROVIDER_H
    21 
    22 
    22 #include <QObject>
    23 #include <QObject>
    23 #include <QImage>
    24 #include <QImage>
    24 #include <QUrl>
    25 #include <QUrl>
    25 
    26 
    26 #include "../common/SmfClientGlobal.h"
    27 #include "../common/SmfClientGlobal.h"
    27 /**
    28 /**
       
    29  * @ingroup smf_client_group 
    28  * Interface for a base service provider. Other service provider classes contains 
    30  * Interface for a base service provider. Other service provider classes contains 
    29  * implementation of this base class so that each has access to service provider 
    31  * implementation of this base class so that each has access to service provider 
    30  * information.
    32  * information.
    31  * All of the functionality described here should be implemented by a service
    33  * All of the functionality described here should be implemented by a service
    32  * specific plug-in object.
    34  * specific plug-in object.
    46 public:
    48 public:
    47   /**
    49   /**
    48    * Localizable name of the service 
    50    * Localizable name of the service 
    49    * @return service name
    51    * @return service name
    50    */
    52    */
    51   virtual QString serviceName() = 0; 
    53   QString& serviceName() const; 
    52   
    54   
    53   /**
    55   /**
    54    * Logo of the service
    56    * Logo of the service
    55    * @return logo image of the service
    57    * @return logo image of the service
    56    */
    58    */
    57   virtual QImage serviceIcon() = 0; // 
    59   QImage& serviceIcon() const; 
    58   
    60   
    59   /**
    61   /**
    60    * Readable service description
    62    * Readable service description
    61    * @return service description
    63    * @return service description
    62    */
    64    */
    63   virtual QString description() = 0; // readable service description
    65   QString description() const; 
    64   
    66   
    65   /*
    67   /*
    66    * Website of the service
    68    * Website of the service
    67    */
    69    */
    68   virtual QUrl serviceUrl() = 0; //
    70   QUrl serviceUrl() const;
    69   
    71   
    70   /**
    72   /**
    71    * URL of the application providing this service
    73    * URL of the application providing this service
    72    */
    74    */
    73   virtual QUrl applicationUrl() = 0; //
    75   QUrl applicationUrl() const; //
    74   
    76   
       
    77   /**
       
    78    * service types - list of interfaces that this provider support
       
    79    */
       
    80   QList<QString> serviceTypes() const;
    75 };
    81 };
    76 /**
    82 /**
    77 * Externalization
    83 * Externalization
    78 */
    84 */
    79 QDataStream &operator<<(QDataStream &, const SmfProvider&);
    85 QDataStream &operator<<(QDataStream &, const SmfProvider&);
    80 /**
    86 /**
    81  * Internalization
    87  * Internalization
    82  */
    88  */
    83 QDataStream &operator>>(QDataStream &, SmfProvider&);
    89 QDataStream &operator>>(QDataStream &, SmfProvider&);
    84 SMF_GETSERVICES(SmfProvider, "org.symbian.smf.client.provider\0.2")
    90 
    85 #endif // SMFPROVIDER_H
    91 #endif // SMFPROVIDER_H