//
//     Copyright 2008 Simon Edwards <simon@simonzone.com>

//                 Generated by twine

// This file is part of PyKDE4.

// PyKDE4 is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of
// the License, or (at your option) any later version.

// PyKDE4 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace Soprano
{

class LiteralValue
{
%TypeHeaderCode
#include <soprano/literalvalue.h>
%End

public:
                            LiteralValue ();
                            LiteralValue (const Soprano::LiteralValue& other);
                            LiteralValue (const QVariant& v);
//ig                            LiteralValue (int i);
                            LiteralValue (qlonglong i);
//ig                            LiteralValue (uint i);
//ig                            LiteralValue (qulonglong i);
//ig                            LiteralValue (bool b);
                            LiteralValue (double d);
                            LiteralValue (const char* string);
                            LiteralValue (const QLatin1String& string);
                            LiteralValue (const QString& string);
                            LiteralValue (const QDate& date);
                            LiteralValue (const QTime& time);
                            LiteralValue (const QDateTime& datetime);
                            LiteralValue (const QByteArray& data);
    bool                    operator == (const Soprano::LiteralValue& other) const;
    bool                    operator != (const Soprano::LiteralValue& other) const;
    bool                    isValid () const;
    bool                    isPlain () const;
    bool                    isInt () const;
    bool                    isInt64 () const;
    bool                    isUnsignedInt () const;
    bool                    isUnsignedInt64 () const;
    bool                    isBool () const;
    bool                    isDouble () const;
    bool                    isString () const;
    bool                    isDate () const;
    bool                    isTime () const;
    bool                    isDateTime () const;
    bool                    isByteArray () const;
    int                     toInt () const;
    qlonglong               toInt64 () const;
    uint                    toUnsignedInt () const;
    qulonglong              toUnsignedInt64 () const;
    bool                    toBool () const;
    double                  toDouble () const;
    QString                 toString () const;
    QDate                   toDate () const;
    QTime                   toTime () const;
    QDateTime               toDateTime () const;
    QByteArray              toByteArray () const;
    QUrl                    dataTypeUri () const;
    Soprano::LanguageTag    language () const;
    QVariant::Type          type () const;
    QVariant                variant () const;
    static Soprano::LiteralValue  fromString (const QString& value, QVariant::Type type);
    static Soprano::LiteralValue  fromString (const QString& value, const QUrl& dataTypeUri);
    static Soprano::LiteralValue  createPlainLiteral (const QString& value, const Soprano::LanguageTag& lang = Soprano::LanguageTag());
    static QVariant::Type   typeFromDataTypeUri (const QUrl& dataTypeUri);
    static QUrl             dataTypeUriFromType (QVariant::Type type);
};   // LiteralValue

uint                    qHash (const Soprano::LiteralValue& lit);
};   // Soprano


