policymanagement/policyengine/policyengineui/src/PolicyEngNotifierplugin.cpp
author hgs
Tue, 13 Jul 2010 09:51:41 +0530
changeset 51 2e64dc50f295
permissions -rw-r--r--
201025_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     1
/*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     2
* Copyright (c) 2000 Nokia Corporation and/or its subsidiary(-ies). 
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     3
* All rights reserved.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     8
*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
     9
* Initial Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    11
*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    12
* Contributors:
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    13
*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    14
* Description: Implementation of policymanagement components
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    15
*
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    16
*/
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    17
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    18
#include <QtPlugin>
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    19
#include "PolicyEngUINotifierplugin.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    20
#include "PolicyEngineUI.h"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    21
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    22
Q_EXPORT_PLUGIN2(PolicyEngUINotifiersplugin, PolicyEngUINotifierplugin)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    23
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    24
static const struct
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    25
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    26
    const char *mTypeString;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    27
    } dialogInfos[] =
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    28
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    29
        {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    30
        "com.nokia.hb.policymanagementdialog/1.0"
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    31
        }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    32
    };
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    33
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    34
    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    35
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    36
// PolicyEngUINotifierplugin::PolicyEngUINotifierplugin()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    37
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    38
PolicyEngUINotifierplugin::PolicyEngUINotifierplugin()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    39
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    40
    //policyEngUI = new QtPolicyEngineUI();
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    41
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    42
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    43
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    44
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    45
// PolicyEngUINotifierplugin::~PolicyEngUINotifierplugin()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    46
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    47
PolicyEngUINotifierplugin::~PolicyEngUINotifierplugin()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    48
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    49
    //delete policyEngUI;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    50
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    51
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    52
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    53
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    54
// PolicyEngUINotifierplugin::createDeviceDialog()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    55
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    56
HbDeviceDialogInterface* PolicyEngUINotifierplugin::createDeviceDialog(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    57
        const QString &deviceDialogType, const QVariantMap &parameters)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    58
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    59
	Q_UNUSED(deviceDialogType);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    60
    // policyEngUI->DisplayNotificationDialog(parameters);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    61
    return new PolicyEngineUI(parameters);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    62
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    63
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    64
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    65
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    66
// PolicyEngUINotifierplugin::accessAllowed()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    67
// Check if client is allowed to use device dialog widget
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    68
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    69
bool PolicyEngUINotifierplugin::accessAllowed(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    70
        const QString &deviceDialogType, const QVariantMap &parameters,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    71
        const QVariantMap &securityInfo) const
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    72
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    73
	Q_UNUSED(deviceDialogType);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    74
	Q_UNUSED(parameters);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    75
	Q_UNUSED(securityInfo);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    76
    // This plugin doesn't perform operations that may compromise security.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    77
    // All clients are allowed to use.
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    78
    return true;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    79
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    80
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    81
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    82
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    83
// PolicyEngUINotifierplugin::deviceDialogInfo()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    84
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    85
bool PolicyEngUINotifierplugin::deviceDialogInfo(
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    86
        const QString &deviceDialogType, const QVariantMap &parameters,
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    87
        DeviceDialogInfo *info) const
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    88
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    89
	Q_UNUSED(deviceDialogType);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    90
	Q_UNUSED(parameters);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    91
    info->group = GenericDeviceDialogGroup;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    92
    info->flags = NoDeviceDialogFlags;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    93
    info->priority = DefaultPriority;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    94
    return true;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    95
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    96
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    97
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    98
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
    99
// PolicyEngUINotifierplugin::deviceDialogTypes()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   100
// Return device dialog types this plugin implements
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   101
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   102
QStringList PolicyEngUINotifierplugin::deviceDialogTypes() const
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   103
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   104
    QStringList types;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   105
    const int numTypes = sizeof(dialogInfos) / sizeof(dialogInfos[0]);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   106
    for (int i = 0; i < numTypes; i++)
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   107
        {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   108
        types.append(dialogInfos[i].mTypeString);
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   109
        }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   110
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   111
    return types;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   112
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   113
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   114
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   116
// PolicyEngUINotifierplugin::pluginFlags()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   117
// Return plugin flags
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   118
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   119
HbDeviceDialogPlugin::PluginFlags PolicyEngUINotifierplugin::pluginFlags() const
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   120
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   121
    return NoPluginFlags;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   122
    }
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   123
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   124
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   125
// -----------------------------------------------------------------------------
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   126
// PolicyEngUINotifierplugin::error()
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   127
// Return last error
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   128
// -----------------------------------------------------------------------------    
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   129
int PolicyEngUINotifierplugin::error() const
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   130
    {
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   131
    return 0;
2e64dc50f295 201025_02
hgs
parents:
diff changeset
   132
    }