coreapplicationuis/powersaveutilities/psmindicatorplugin/inc/psmindicator.h
author hgs
Fri, 16 Jul 2010 10:30:52 +0300
changeset 51 50b444048a8d
child 77 b01c07dfcf84
permissions -rw-r--r--
201027_02
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>
50b444048a8d 201027_02
hgs
parents:
diff changeset
    29
50b444048a8d 201027_02
hgs
parents:
diff changeset
    30
50b444048a8d 201027_02
hgs
parents:
diff changeset
    31
/**
50b444048a8d 201027_02
hgs
parents:
diff changeset
    32
 * PSM indicator class. 
50b444048a8d 201027_02
hgs
parents:
diff changeset
    33
 * Handles client request and shows the indications. 
50b444048a8d 201027_02
hgs
parents:
diff changeset
    34
 */
50b444048a8d 201027_02
hgs
parents:
diff changeset
    35
class PsmIndicatorPlugin : public HbIndicatorInterface, public HbIndicatorPluginInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    36
{
50b444048a8d 201027_02
hgs
parents:
diff changeset
    37
    Q_OBJECT
50b444048a8d 201027_02
hgs
parents:
diff changeset
    38
    Q_INTERFACES(HbIndicatorPluginInterface)
50b444048a8d 201027_02
hgs
parents:
diff changeset
    39
    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    40
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    41
50b444048a8d 201027_02
hgs
parents:
diff changeset
    42
    PsmIndicatorPlugin();
50b444048a8d 201027_02
hgs
parents:
diff changeset
    43
    ~PsmIndicatorPlugin();
50b444048a8d 201027_02
hgs
parents:
diff changeset
    44
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    45
    //from HbindicatorInterface    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    46
    bool handleInteraction(InteractionType type);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    47
    QVariant indicatorData(int role) const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    48
    
50b444048a8d 201027_02
hgs
parents:
diff changeset
    49
public:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    50
    //from HbIndicatorPluginInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    51
    QStringList indicatorTypes() const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    52
    bool accessAllowed(const QString &indicatorType,const QVariantMap &  securityInfo) const;   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    53
    HbIndicatorInterface* createIndicator(const QString &indicatorType);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    54
    int error() const;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    55
50b444048a8d 201027_02
hgs
parents:
diff changeset
    56
      
50b444048a8d 201027_02
hgs
parents:
diff changeset
    57
protected:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    58
    //from HbindicatorInterface
50b444048a8d 201027_02
hgs
parents:
diff changeset
    59
    bool handleClientRequest(RequestType type, const QVariant &parameter);
50b444048a8d 201027_02
hgs
parents:
diff changeset
    60
   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    61
   
50b444048a8d 201027_02
hgs
parents:
diff changeset
    62
private:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    63
50b444048a8d 201027_02
hgs
parents:
diff changeset
    64
    QString iDisplayName;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    65
    QString iIcon;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    66
    QProcess iProcess;
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:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    72
    void processError(QProcess::ProcessError err); // handler for error codes
50b444048a8d 201027_02
hgs
parents:
diff changeset
    73
50b444048a8d 201027_02
hgs
parents:
diff changeset
    74
private:
50b444048a8d 201027_02
hgs
parents:
diff changeset
    75
    Q_DISABLE_COPY(PsmIndicatorPlugin)
50b444048a8d 201027_02
hgs
parents:
diff changeset
    76
    int mError;
50b444048a8d 201027_02
hgs
parents:
diff changeset
    77
    };
50b444048a8d 201027_02
hgs
parents:
diff changeset
    78
50b444048a8d 201027_02
hgs
parents:
diff changeset
    79
#endif // PSMINDICATOR_H
50b444048a8d 201027_02
hgs
parents:
diff changeset
    80