bluetoothengine/btnotif/btdevicedialogplugin/inc/btdevicedialogutils.h
author hgs
Fri, 23 Jul 2010 15:57:13 +0300
changeset 47 9e2a905b887f
child 57 5ebadcda06cb
permissions -rw-r--r--
201029_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
47
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     1
/*
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     2
 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     3
 * All rights reserved.
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0""
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     8
 *
9e2a905b887f 201029_02
hgs
parents:
diff changeset
     9
 * Initial Contributors:
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    11
 *
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    12
 * Contributors:
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    13
 *
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    14
 * Description:  
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    15
 *
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    16
 */
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    17
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    18
#ifndef BTDEVICESDIALOGUTILS_H
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    19
#define BTDEVICESDIALOGUTILS_H
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    20
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    21
#include <QMap>
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    22
#include <QList>
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    23
#include <QVariant>
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    24
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    25
// A data item in this model DLL. For example, power state item consists 
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    26
// of the information regarding the current Bluetooth power state.
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    27
typedef QMap< int, QVariant > BtSendDataItem;
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    28
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    29
// A category of the model data for specific group
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    30
typedef QList< BtSendDataItem > BtSendDataSource;
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    31
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    32
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    33
Q_DECLARE_METATYPE(BtSendDataItem)
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    34
Q_DECLARE_METATYPE(BtSendDataSource)
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    35
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    36
enum DevDataRole {
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    37
    NameAliasRole = Qt::DisplayRole, // QVariant::String, the name showing in UI
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    38
    ReadableBdaddrRole = Qt::UserRole, // QString, the readable format of a BD_ADDR (BT Device address)
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    39
    MajorPropertyRole,  // QVariant::Int, bits of DevMajorProperty
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    40
    MinorPropertyRole,  // QVariant::Int, bits of DevMinorProperty
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    41
    CoDRole,  // QVariant::Int, the value of Class of Device
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    42
    DeviceTypeRole //QVairant::Int, the value of Device Type
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    43
};
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    44
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    45
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    46
inline void setMajorProperty(
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    47
        BtSendDataItem& qtdev, int prop, bool addto)
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    48
{
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    49
    if ( addto ) {
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    50
         qtdev[MajorPropertyRole] = 
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    51
            QVariant( qtdev[MajorPropertyRole].toInt() | prop);
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    52
    }
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    53
    else {
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    54
         qtdev[MajorPropertyRole] = 
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    55
            QVariant( qtdev[MajorPropertyRole].toInt() & ~prop);
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    56
    }
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    57
}
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    58
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    59
9e2a905b887f 201029_02
hgs
parents:
diff changeset
    60
#endif /*BTDEVICESDIALOGUTILS_H*/