hswidgetplugin/fmradiohswidgetplugin/inc/fmradiohswidgetradioserviceclient.h
changeset 28 075425b8d9a4
parent 24 6df133bd92e1
equal deleted inserted replaced
24:6df133bd92e1 28:075425b8d9a4
    26 // Constants
    26 // Constants
    27 /**  Radio service name. */
    27 /**  Radio service name. */
    28 const QString KRadioServiceName = "com.nokia.services.Radio";
    28 const QString KRadioServiceName = "com.nokia.services.Radio";
    29 /**  Radio control interface name. */
    29 /**  Radio control interface name. */
    30 const QString KRadioServiceControlInterfaceName = "IRadioControl";
    30 const QString KRadioServiceControlInterfaceName = "IRadioControl";
    31 /**  Radio monitor interface name. */
    31 /**  Radio control operation name. */
    32 const QString KRadioServiceControlOperation = "command(int)";
    32 const QString KRadioServiceControlOperation = "command(int)";
    33 /**  Radio monitor interface name. */
    33 /**  Radio monitor interface name. */
    34 const QString KRadioServiceMonitorInterfaceName = "IRadioMonitor";
    34 const QString KRadioServiceMonitorInterfaceName = "IRadioMonitor";
    35 /**  Radio monitor interface name. */
    35 /**  Radio monitor operation name. */
    36 const QString KRadioServiceMonitorOperation = "requestNotifications()";
    36 const QString KRadioServiceMonitorOperation = "requestNotifications()";
    37 /**  Radio refresh operation name. */
    37 /**  Radio refresh operation name. */
    38 const QString KRadioServiceRefreshOperation = "requestAllData()";
    38 const QString KRadioServiceRefreshOperation = "requestAllData()";
    39 
    39 
    40 class FmRadioHsWidgetRadioServiceClient : public QObject
    40 class FmRadioHsWidgetRadioServiceClient : public QObject
    41 {
    41 {
    42 Q_OBJECT
    42 Q_OBJECT
    43 
    43 
    44 public:
    44 public:
    45     FmRadioHsWidgetRadioServiceClient(QObject *parent = 0);
    45     explicit FmRadioHsWidgetRadioServiceClient(QObject *parent = 0);
    46     virtual ~FmRadioHsWidgetRadioServiceClient();
    46     virtual ~FmRadioHsWidgetRadioServiceClient();
    47     
    47     
    48     enum FmRadioStartupState
    48     // Enum for station changing command.
       
    49     enum FmRadioStationChangeCommand
    49     {
    50     {
    50         StartForeground,
    51         PreviousFavouriteStation,
    51         StartBackground
    52         NextFavouriteStation
    52     };
    53     };
    53     enum FmRadioChannelChangeCommand
    54     
    54     {
    55     // Enum for type of radio information.
    55         PreviousFavouriteChannel,
       
    56         NextFavouriteChannel
       
    57     };
       
    58     enum FmRadioAudioControlCommand
       
    59     {
       
    60         Mute,
       
    61         Unmute
       
    62     };
       
    63     enum FmRadioInformationType
    56     enum FmRadioInformationType
    64     {
    57     {
    65         InformationTypeStationName,
    58         InformationTypeStationName,
    66         InformationTypeCallSign,
    59         InformationTypeCallSign,
    67         InformationTypeFrequency,
    60         InformationTypeFrequency,
    68         InformationTypeRt,
    61         InformationTypeRt,
    69         InformationTypeDynamicPsName,
    62         InformationTypeDynamicPsName,
    70         InformationTypePty
    63         InformationTypePty
    71     };
    64     };
       
    65     
       
    66     // Enum for controlling the visibility of the radio application.
    72     enum FmRadioVisibilty
    67     enum FmRadioVisibilty
    73     {
    68     {
    74         DoNotChange,
    69         DoNotChange,
    75         ToForeground,
    70         ToForeground,
    76         ToBackground
    71         ToBackground
    77     };
    72     };
    78 
    73 
    79     void init();
       
    80 
       
    81 signals:
    74 signals:
    82     void radioInformationChanged(int notificationId, QVariant value);
    75     void radioInformationChanged(const int notificationId,
    83     void radioStateChanged(QVariant value);
    76         const QVariant &value);
       
    77     void radioStateChanged(const QVariant &value);
    84 
    78 
    85 public slots:
    79 public slots:
    86     void doChangeFmRadioVisibility(FmRadioVisibilty visibility);
    80     void doCloseFmRadio();
    87     void test();
    81     void doPowerOnFmRadio();
    88     void doChangeFmRadioChannel(FmRadioChannelChangeCommand command);
    82     void doChangeFmRadioVisibility(const FmRadioVisibilty visibility);
    89     void doControlFmRadioAudio(FmRadioAudioControlCommand command);
    83     void doChangeFmRadioStation(const FmRadioStationChangeCommand command);
    90     void handleFmRadioInformationChange(const QVariant& value);
    84     void handleFmRadioInformationChange(const QVariant &value);
    91     void handleFmRadioStateChange(QVariant& value);
    85     void handleFmRadioStateChange(const QVariant &value);
    92     void startMonitoring(FmRadioVisibilty visibility);
    86     void startMonitoring(const FmRadioVisibilty visibility);
    93     void stopMonitoring();
    87     void stopMonitoring();
    94 
    88 
    95 protected slots:
    89 protected slots:
    96     void requestCompleted(const QVariant& value);
       
    97 
    90 
    98 private slots:
    91 private slots:
    99     //void handleOk(const QVariant &result);
    92     void handleError(const int errorCode, const QString &errorMessage);
   100     void handleError(int errorCode, const QString& errorMessage);
    93     void handleRequestError(const int error);
   101     void handleRequestError(int error);
       
   102     
    94     
   103     void createControlServiceRequest();
    95     void createControlServiceRequest();
   104     void createMonitorServiceRequest();
    96     void createMonitorServiceRequest();
   105 
    97 
   106     void doSendMonitorRequest(FmRadioVisibilty visibility);
    98     void doSendMonitorRequest(const FmRadioVisibilty visibility);
   107     void doSendControlRequest(QVariant &argument, FmRadioVisibilty visibility);
    99     void doSendControlRequest(const QVariant &argument,
       
   100         const FmRadioVisibilty visibility);
   108     
   101     
   109     void prepareRequestInfo(XQAiwRequest *request, FmRadioVisibilty visibility);
   102     void prepareRequestInfo(XQAiwRequest *request,
       
   103         const FmRadioVisibilty visibility);
   110     
   104     
   111 private: // data
   105 private: // data
   112     bool mRequestPending;
   106     bool mRequestPending;
   113     XQApplicationManager mApplicationManager;
   107     XQApplicationManager mApplicationManager;
   114     XQAiwRequest* mRadioMonitorRequest;
   108     XQAiwRequest* mRadioMonitorRequest;
   115     XQAiwRequest* mRadioControlRequest;
   109     XQAiwRequest* mRadioControlRequest;
   116     
   110     
   117     bool                mDataInitialized;
   111     bool mDataInitialized;
   118 
       
   119 };
   112 };
   120 
   113 
   121 #endif /* FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ */
   114 #endif /* FMRADIOHSWIDGETRADIOSERVICECLIENT_H_ */