/***************************************************************************
                            kde_NodeFilter.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_NodeFilter.h"
}

#include <dom/dom2_traversal.h>

class NodeFilterBridge : public DOM::NodeFilter
{
public:
	NodeFilterBridge() : NodeFilter() {}
	NodeFilterBridge(const NodeFilter& other) : NodeFilter(other) {}
	~NodeFilterBridge() {}
};

kde_NodeFilter * kde_new_NodeFilter(){
	return (kde_NodeFilter *) new NodeFilterBridge();
}
kde_NodeFilter * kde_new_NodeFilter1(kde_NodeFilter* other){
	return (kde_NodeFilter *) new NodeFilterBridge((DOM::NodeFilter&)* (DOM::NodeFilter*)other);
}
void kde_del_NodeFilter( kde_NodeFilter* p ){
	delete (NodeFilterBridge*) p;
}
short kde_NodeFilter_acceptNode( kde_NodeFilter* instPointer,kde_DOMNode* n){
	return (short) ((NodeFilterBridge*)instPointer)->acceptNode((DOM::Node&)* (DOM::Node*)n);
}
//kde_NodeFilterImpl* kde_NodeFilter_handle( kde_NodeFilter* instPointer){
//	return (kde_NodeFilterImpl*) ((NodeFilterBridge*)instPointer)->handle();
//}
int kde_NodeFilter_isNull( kde_NodeFilter* instPointer){
	return (int) ((NodeFilterBridge*)instPointer)->isNull();
}
void kde_NodeFilter_setCustomNodeFilter( kde_NodeFilter* instPointer,kde_CustomNodeFilter* custom){
	((NodeFilterBridge*)instPointer)->setCustomNodeFilter((DOM::CustomNodeFilter*)custom);
	return;
}
kde_CustomNodeFilter* kde_NodeFilter_customNodeFilter( kde_NodeFilter* instPointer){
	return (kde_CustomNodeFilter*) ((NodeFilterBridge*)instPointer)->customNodeFilter();
}
kde_NodeFilter* kde_NodeFilter_createCustom( kde_CustomNodeFilter* custom){
	return (kde_NodeFilter*)new DOM::NodeFilter(NodeFilterBridge::createCustom((DOM::CustomNodeFilter*)custom));
}
