//
//     Copyright 2008 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2007 Jim Bublitz also apply

//                 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/>.

%ModuleHeaderCode
#include <dom_string.h>
%End

namespace DOM
{

class DOMString
{
%TypeHeaderCode
#include <dom_string.h>
%End


public:
                            DOMString ();
                            DOMString (const QChar* str, uint len);
                            DOMString (const QString&);
                            DOMString (const char* str);
                            DOMString (const char* str, uint len);
//ig                        DOMString (DOMStringImpl* i);
                            DOMString (const DOM::DOMString& str);
    DOM::DOMString&         operator += (const DOM::DOMString& str);
    DOM::DOMString          operator + (const DOM::DOMString& str);
    void                    insert (DOM::DOMString str, uint pos);
    const QChar&            operator [] (unsigned int i) const;
    int                     find (const QChar c, int start = 0) const;
    int                     reverseFind (const QChar c, int start = -1) const;
    DOM::DOMString          substring (unsigned pos, unsigned len = UINT_MAX) const;
    uint                    length () const;
    void                    truncate (unsigned int len);
    void                    remove (unsigned int pos, int len = 1);
    DOM::DOMString          split (unsigned int pos);
    DOM::DOMString          lower () const;
    DOM::DOMString          upper () const;
    QChar*                  unicode () const;
    QChar*                  characters () const;
    QString                 string () const;
//ig    int                     toInt () const;
    int                     toInt (bool* ok /Out/) const;
    float                   toFloat (bool* ok /Out/ = 0) const;
    
    bool                    percentage (int& _percentage /Out/) const;
    static DOM::DOMString   number (float f);
    DOM::DOMString          copy () const;
    bool                    isNull () const;
    bool                    isEmpty () const;
    bool                    endsWith (const DOM::DOMString& str) const;
    bool                    startsWith (const DOM::DOMString& str) const;
//ig     DOMStringImpl*     implementation () const;


//mt undefined symbol: ... None -- need mapped type?
//mt     static DOM::DOMString  format (const char* format, ...);


};   // DOMString

bool                    strcmp (const DOM::DOMString& a, const DOM::DOMString& b);
bool                    strcasecmp (const DOM::DOMString& a, const DOM::DOMString& b);
bool                    strcasecmp (const DOM::DOMString& a, const char* b);
};   // DOM



%ModuleHeaderCode
#include <dom_string.h>
%End

