cmmanager/cppluginutils/src/cpipv6filter.cpp
author hgs
Fri, 14 May 2010 10:52:16 +0300
changeset 30 8dde790cab74
permissions -rw-r--r--
201019
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
30
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0""
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description:
hgs
parents:
diff changeset
    15
* IPv6 input filter implementation.
hgs
parents:
diff changeset
    16
*
hgs
parents:
diff changeset
    17
*/
hgs
parents:
diff changeset
    18
hgs
parents:
diff changeset
    19
// System includes
hgs
parents:
diff changeset
    20
#include <HbInputFilter>
hgs
parents:
diff changeset
    21
hgs
parents:
diff changeset
    22
// User includes
hgs
parents:
diff changeset
    23
#include "cpipv6filter.h"
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
/*!
hgs
parents:
diff changeset
    26
    \class CpIpv6Filter
hgs
parents:
diff changeset
    27
    \brief IPv6 input filter implementation.
hgs
parents:
diff changeset
    28
*/
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
// External function prototypes
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
// Local constants
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    35
hgs
parents:
diff changeset
    36
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
/*!
hgs
parents:
diff changeset
    39
    Returns static instance of the class.
hgs
parents:
diff changeset
    40
*/
hgs
parents:
diff changeset
    41
CpIpv6Filter* CpIpv6Filter::instance()
hgs
parents:
diff changeset
    42
{
hgs
parents:
diff changeset
    43
    static CpIpv6Filter myInstance;
hgs
parents:
diff changeset
    44
    return &myInstance;
hgs
parents:
diff changeset
    45
}
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
/*!
hgs
parents:
diff changeset
    48
    Constructor.
hgs
parents:
diff changeset
    49
*/
hgs
parents:
diff changeset
    50
CpIpv6Filter::CpIpv6Filter()
hgs
parents:
diff changeset
    51
{
hgs
parents:
diff changeset
    52
}
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
/*!
hgs
parents:
diff changeset
    55
    Destructor.
hgs
parents:
diff changeset
    56
*/
hgs
parents:
diff changeset
    57
CpIpv6Filter::~CpIpv6Filter()
hgs
parents:
diff changeset
    58
{
hgs
parents:
diff changeset
    59
}
hgs
parents:
diff changeset
    60
hgs
parents:
diff changeset
    61
/*!
hgs
parents:
diff changeset
    62
    Returns true if given character is valid for an IPv6 address.
hgs
parents:
diff changeset
    63
*/
hgs
parents:
diff changeset
    64
bool CpIpv6Filter::filter(QChar aChar)
hgs
parents:
diff changeset
    65
{
hgs
parents:
diff changeset
    66
    if ((aChar >= 'a' && aChar <= 'f')
hgs
parents:
diff changeset
    67
        || (aChar >= 'A' && aChar <= 'F')
hgs
parents:
diff changeset
    68
        || (aChar >= '0' && aChar <= '9')) {
hgs
parents:
diff changeset
    69
        return true;
hgs
parents:
diff changeset
    70
    }
hgs
parents:
diff changeset
    71
    if (aChar == ':' || aChar == '.') {
hgs
parents:
diff changeset
    72
        return true;
hgs
parents:
diff changeset
    73
    }
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
    return false;
hgs
parents:
diff changeset
    76
}