JavaScriptCore/qt/api/qscriptstring.cpp
changeset 0 4f2f89ce4247
equal deleted inserted replaced
-1:000000000000 0:4f2f89ce4247
       
     1 /*
       
     2     Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies)
       
     3 
       
     4     This library is free software; you can redistribute it and/or
       
     5     modify it under the terms of the GNU Library General Public
       
     6     License as published by the Free Software Foundation; either
       
     7     version 2 of the License, or (at your option) any later version.
       
     8 
       
     9     This library is distributed in the hope that it will be useful,
       
    10     but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    12     Library General Public License for more details.
       
    13 
       
    14     You should have received a copy of the GNU Library General Public License
       
    15     along with this library; see the file COPYING.LIB.  If not, write to
       
    16     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
       
    17     Boston, MA 02110-1301, USA.
       
    18 */
       
    19 
       
    20 #include "config.h"
       
    21 
       
    22 #include "qscriptstring.h"
       
    23 
       
    24 #include "qscriptstring_p.h"
       
    25 #include <QtCore/qhash.h>
       
    26 
       
    27 /*!
       
    28   Constructs an invalid QScriptString.
       
    29 */
       
    30 QScriptString::QScriptString()
       
    31     : d_ptr(new QScriptStringPrivate())
       
    32 {
       
    33 }
       
    34 /*!
       
    35   Constructs an QScriptString from internal representation
       
    36   \internal
       
    37 */
       
    38 QScriptString::QScriptString(QScriptStringPrivate* d)
       
    39     : d_ptr(d)
       
    40 {
       
    41 }
       
    42 
       
    43 /*!
       
    44   Constructs a new QScriptString that is a copy of \a other.
       
    45 */
       
    46 QScriptString::QScriptString(const QScriptString& other)
       
    47 {
       
    48     d_ptr = other.d_ptr;
       
    49 }
       
    50 
       
    51 /*!
       
    52   Destroys this QScriptString.
       
    53 */
       
    54 QScriptString::~QScriptString()
       
    55 {
       
    56 }
       
    57 
       
    58 /*!
       
    59   Assigns the \a other value to this QScriptString.
       
    60 */
       
    61 QScriptString& QScriptString::operator=(const QScriptString& other)
       
    62 {
       
    63     d_ptr = other.d_ptr;
       
    64     return *this;
       
    65 }
       
    66 
       
    67 /*!
       
    68   Returns true if this QScriptString is valid; otherwise
       
    69   returns false.
       
    70 */
       
    71 bool QScriptString::isValid() const
       
    72 {
       
    73     return d_ptr->isValid();
       
    74 }
       
    75 
       
    76 /*!
       
    77   Returns true if this QScriptString is equal to \a other;
       
    78   otherwise returns false.
       
    79 */
       
    80 bool QScriptString::operator==(const QScriptString& other) const
       
    81 {
       
    82     return d_ptr == other.d_ptr || *d_ptr == *(other.d_ptr);
       
    83 }
       
    84 
       
    85 /*!
       
    86   Returns true if this QScriptString is not equal to \a other;
       
    87   otherwise returns false.
       
    88 */
       
    89 bool QScriptString::operator!=(const QScriptString& other) const
       
    90 {
       
    91     return d_ptr != other.d_ptr || *d_ptr != *(other.d_ptr);
       
    92 }
       
    93 
       
    94 /*!
       
    95   Attempts to convert this QScriptString to a QtScript array index,
       
    96   and returns the result.
       
    97 
       
    98   If a conversion error occurs, *\a{ok} is set to false; otherwise
       
    99   *\a{ok} is set to true.
       
   100 */
       
   101 quint32 QScriptString::toArrayIndex(bool* ok) const
       
   102 {
       
   103     return d_ptr->toArrayIndex(ok);
       
   104 }
       
   105 
       
   106 /*!
       
   107   Returns the string that this QScriptString represents, or a
       
   108   null string if this QScriptString is not valid.
       
   109 
       
   110   \sa isValid()
       
   111 */
       
   112 QString QScriptString::toString() const
       
   113 {
       
   114     return d_ptr->toString();
       
   115 }
       
   116 
       
   117 /*!
       
   118   Returns the string that this QScriptString represents, or a
       
   119   null string if this QScriptString is not valid.
       
   120 
       
   121   \sa toString()
       
   122 */
       
   123 QScriptString::operator QString() const
       
   124 {
       
   125     return d_ptr->toString();
       
   126 }
       
   127 
       
   128 uint qHash(const QScriptString& key)
       
   129 {
       
   130     return qHash(QScriptStringPrivate::get(key)->id());
       
   131 }