/***************************************************************************
                            kde_CharacterData.cpp -  description
                             -------------------
    begin                : Wed Feb  6 15:12:26 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd. All rights reserved.
    email                : Lost_Highway@tipitina.demon.co.uk
    generated by         : duke@tipitina on Wed Feb  6 15:12:26 2002, using kalyptus 0.9.
 ***************************************************************************/

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

extern "C" {
#include "kde_CharacterData.h"
}

#include <dom/dom_text.h>
#include <dom/dom_string.h>

class CharacterDataBridge : public DOM::CharacterData
{
public:
	CharacterDataBridge() : CharacterData() {}
	CharacterDataBridge(const CharacterData& other) : CharacterData(other) {}
	CharacterDataBridge(const Node& other) : CharacterData(other) {}
	~CharacterDataBridge() {}
};

kde_CharacterData * kde_new_CharacterData(){
	return (kde_CharacterData *) new CharacterDataBridge();
}
kde_CharacterData * kde_new_CharacterData1(kde_CharacterData* other){
	return (kde_CharacterData *) new CharacterDataBridge((DOM::CharacterData&)* (DOM::CharacterData*)other);
}
kde_CharacterData * kde_new_CharacterData2(kde_DOMNode* other){
	return (kde_CharacterData *) new CharacterDataBridge((DOM::Node&)* (DOM::Node*)other);
}
void kde_del_CharacterData( kde_CharacterData* p ){
	delete (CharacterDataBridge*) p;
}
kde_DOMString* kde_CharacterData_data( kde_CharacterData* instPointer){
	return (kde_DOMString*)new DOM::DOMString(((CharacterDataBridge*)instPointer)->data());
}
void kde_CharacterData_setData( kde_CharacterData* instPointer,kde_DOMString* arg1){
	((CharacterDataBridge*)instPointer)->setData((DOM::DOMString&)* (DOM::DOMString*)arg1);
	return;
}
unsigned long kde_CharacterData_length( kde_CharacterData* instPointer){
	return (unsigned long) ((CharacterDataBridge*)instPointer)->length();
}
kde_DOMString* kde_CharacterData_substringData( kde_CharacterData* instPointer,unsigned long offset, unsigned long count){
	return (kde_DOMString*)new DOM::DOMString(((CharacterDataBridge*)instPointer)->substringData((unsigned long)offset, (unsigned long)count));
}
void kde_CharacterData_appendData( kde_CharacterData* instPointer,kde_DOMString* arg){
	((CharacterDataBridge*)instPointer)->appendData((DOM::DOMString&)* (DOM::DOMString*)arg);
	return;
}
void kde_CharacterData_insertData( kde_CharacterData* instPointer,unsigned long offset, kde_DOMString* arg){
	((CharacterDataBridge*)instPointer)->insertData((unsigned long)offset, (DOM::DOMString&)* (DOM::DOMString*)arg);
	return;
}
void kde_CharacterData_deleteData( kde_CharacterData* instPointer,unsigned long offset, unsigned long count){
	((CharacterDataBridge*)instPointer)->deleteData((unsigned long)offset, (unsigned long)count);
	return;
}
void kde_CharacterData_replaceData( kde_CharacterData* instPointer,unsigned long offset, unsigned long count, kde_DOMString* arg){
	((CharacterDataBridge*)instPointer)->replaceData((unsigned long)offset, (unsigned long)count, (DOM::DOMString&)* (DOM::DOMString*)arg);
	return;
}
