VirtualBox

Changeset 48523 in vbox


Ignore:
Timestamp:
Sep 18, 2013 3:40:48 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89051
Message:

FE/Qt: UIConverter: Support for internal-string values for KNATProtocol enum.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/converter
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackend.h

    r47595 r48523  
    136136template<> QString toString(const KChipsetType &type);
    137137template<> QString toString(const KNATProtocol &protocol);
     138template<> QString toInternalString(const KNATProtocol &protocol);
     139template<> KNATProtocol fromInternalString<KNATProtocol>(const QString &strProtocol);
    138140template<> KPortMode fromString<KPortMode>(const QString &strMode);
    139141template<> KUSBDeviceFilterAction fromString<KUSBDeviceFilterAction>(const QString &strAction);
  • trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp

    r47265 r48523  
    474474}
    475475
     476/* QString <= KNATProtocol: */
     477template<> QString toInternalString(const KNATProtocol &protocol)
     478{
     479    QString strResult;
     480    switch (protocol)
     481    {
     482        case KNATProtocol_UDP: strResult = "udp"; break;
     483        case KNATProtocol_TCP: strResult = "tcp"; break;
     484        default:
     485        {
     486            AssertMsgFailed(("No text for protocol type=%d", protocol));
     487            break;
     488        }
     489    }
     490    return strResult;
     491}
     492
     493/* KNATProtocol <= QString: */
     494template<> KNATProtocol fromInternalString<KNATProtocol>(const QString &strProtocol)
     495{
     496    /* Here we have some fancy stuff allowing us
     497     * to search through the keys using 'case-insensitive' rule: */
     498    QStringList keys; QList<KNATProtocol> values;
     499    keys << "udp";    values << KNATProtocol_UDP;
     500    keys << "tcp";    values << KNATProtocol_TCP;
     501    /* Invalid type for unknown words: */
     502    if (!keys.contains(strProtocol, Qt::CaseInsensitive))
     503    {
     504        AssertMsgFailed(("No value for '%s'"));
     505        return KNATProtocol_UDP;
     506    }
     507    /* Corresponding type for known words: */
     508    return values.at(keys.indexOf(QRegExp(strProtocol, Qt::CaseInsensitive)));
     509}
     510
    476511/* KPortMode <= QString: */
    477512template<> KPortMode fromString<KPortMode>(const QString &strMode)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette