coreapplicationuis/powersaveutilities/psmindicatorplugin/inc/psmindicator.h
author hgs
Thu, 07 Oct 2010 06:25:45 +0300
changeset 77 b01c07dfcf84
parent 51 50b444048a8d
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
50b444048a8d 201027_02
hgs
parents:
diff changeset
     1
/*
50b444048a8d 201027_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
50b444048a8d 201027_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
50b444048a8d 201027_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
50b444048a8d 201027_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
50b444048a8d 201027_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
50b444048a8d 201027_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
50b444048a8d 201027_02
hgs
parents:
diff changeset
     8
 *
50b444048a8d 201027_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
50b444048a8d 201027_02
hgs
parents:
diff changeset
    11
 *
50b444048a8d 201027_02
hgs
parents:
diff changeset
    12
 * Contributors:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    13
 *
50b444048a8d 201027_02
hgs
parents:
diff changeset
    14
 * Description: power save mode Indicator class
50b444048a8d 201027_02
hgs
parents:
diff changeset
    15
 *
50b444048a8d 201027_02
hgs
parents:
diff changeset
    16
 */
50b444048a8d 201027_02
hgs
parents:
diff changeset
    17
50b444048a8d 201027_02
hgs
parents:
diff changeset
    18
#ifndef PSMINDICATOR_H
50b444048a8d 201027_02
hgs
parents:
diff changeset
    19
#define PSMINDICATOR_H
50b444048a8d 201027_02
hgs
parents:
diff changeset
    20
50b444048a8d 201027_02
hgs
parents:
diff changeset
    21
#include <QObject>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    22
50b444048a8d 201027_02
hgs
parents:
diff changeset
    23
#include <QVariant>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    24
#include <QtCore/QProcess>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    25
50b444048a8d 201027_02
hgs
parents:
diff changeset
    26
#include <hbindicatorinterface.h>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    27
#include <hbindicatorplugininterface.h>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    28
#include <hbtranslator.h>
77
hgs
parents: 51
diff changeset
    29
#include <xqappmgr.h>
51
50b444048a8d 201027_02
hgs
parents:
diff changeset
    30
50b444048a8d 201027_02
hgs
parents:
diff changeset
    31
50b444048a8d 201027_02
hgs
parents:
diff changeset
    32
/**
50b444048a8d 201027_02
hgs
parents:
diff changeset
    33
 * PSM indicator class. 
50b444048a8d 201027_02
hgs
parents:
diff changeset
    34
 * Handles client request and shows the indications. 
50b444048a8d 201027_02
hgs
parents:
diff changeset
    35
 */
50b444048a8d 201027_02
hgs
parents:
diff changeset
    36
class PsmIndicatorPlugin : public HbIndicatorInterface, public HbIndicatorPluginInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    37
{
50b444048a8d 201027_02
hgs
parents:
diff changeset
    38
    Q_OBJECT
50b444048a8d 201027_02
hgs
parents:
diff changeset
    39
    Q_INTERFACES(HbIndicatorPluginInterface)
50b444048a8d 201027_02
hgs
parents:
diff changeset
    40
    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    41
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    42
50b444048a8d 201027_02
hgs
parents:
diff changeset
    43
    PsmIndicatorPlugin();
50b444048a8d 201027_02
hgs
parents:
diff changeset
    44
    ~PsmIndicatorPlugin();
50b444048a8d 201027_02
hgs
parents:
diff changeset
    45
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    46
    //from HbindicatorInterface    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    47
    bool handleInteraction(InteractionType type);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    48
    QVariant indicatorData(int role) const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    49
    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    50
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    51
    //from HbIndicatorPluginInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    52
    QStringList indicatorTypes() const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    53
    bool accessAllowed(const QString &indicatorType,const QVariantMap &  securityInfo) const;   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    54
    HbIndicatorInterface* createIndicator(const QString &indicatorType);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    55
    int error() const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    56
50b444048a8d 201027_02
hgs
parents:
diff changeset
    57
      
50b444048a8d 201027_02
hgs
parents:
diff changeset
    58
protected:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    59
    //from HbindicatorInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    60
    bool handleClientRequest(RequestType type, const QVariant &parameter);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    61
   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    62
   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    63
private:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    64
50b444048a8d 201027_02
hgs
parents:
diff changeset
    65
    QString iDisplayName;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    66
    QString iIcon;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    67
    QStringList iIndicatorTypes;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    68
    HbTranslator *iTrans;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    69
  
50b444048a8d 201027_02
hgs
parents:
diff changeset
    70
    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    71
private slots:
77
hgs
parents: 51
diff changeset
    72
    
hgs
parents: 51
diff changeset
    73
       
hgs
parents: 51
diff changeset
    74
    void closeSettingView();
51
50b444048a8d 201027_02
hgs
parents:
diff changeset
    75
private:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    76
    Q_DISABLE_COPY(PsmIndicatorPlugin)
50b444048a8d 201027_02
hgs
parents:
diff changeset
    77
    int mError;
77
hgs
parents: 51
diff changeset
    78
    //Qthighway methodology
hgs
parents: 51
diff changeset
    79
    XQApplicationManager mAppMgr;
hgs
parents: 51
diff changeset
    80
    XQAiwRequest *mRequest;
51
50b444048a8d 201027_02
hgs
parents:
diff changeset
    81
    };
50b444048a8d 201027_02
hgs
parents:
diff changeset
    82
50b444048a8d 201027_02
hgs
parents:
diff changeset
    83
#endif // PSMINDICATOR_H
50b444048a8d 201027_02
hgs
parents:
diff changeset
    84