//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Text;
    [SmokeClass("QTextDecoder")]
    public class QTextDecoder : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QTextDecoder(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTextDecoder), this);
        }
        public QTextDecoder(QTextCodec codec) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTextDecoder#", "QTextDecoder(const QTextCodec*)", typeof(void), typeof(QTextCodec), codec);
        }
        public string ToUnicode(string chars, int len) {
            return (string) interceptor.Invoke("toUnicode$$", "toUnicode(const char*, int)", typeof(string), typeof(string), chars, typeof(int), len);
        }
        public string ToUnicode(QByteArray ba) {
            return (string) interceptor.Invoke("toUnicode#", "toUnicode(const QByteArray&)", typeof(string), typeof(QByteArray), ba);
        }
        public void ToUnicode(StringBuilder target, string chars, int len) {
            interceptor.Invoke("toUnicode$$$", "toUnicode(QString*, const char*, int)", typeof(void), typeof(StringBuilder), target, typeof(string), chars, typeof(int), len);
        }
        public bool HasFailure() {
            return (bool) interceptor.Invoke("hasFailure", "hasFailure() const", typeof(bool));
        }
        ~QTextDecoder() {
            interceptor.Invoke("~QTextDecoder", "~QTextDecoder()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QTextDecoder", "~QTextDecoder()", typeof(void));
        }
    }
}
