#ifndef JEZUK_DOM_SimpleDOM_DOCUMENTEVENT_IMPL_H #define JEZUK_DOM_SimpleDOM_DOCUMENTEVENT_IMPL_H //////////////////////////// // C++ DocumentEvent implementation //////////////////////////// #include #include #include #include #include //#include namespace Arabica { namespace SimpleDOM { //////////////////////////////////////////////////////////////////// template class DocumentEventImpl : virtual public Arabica::DOM::Events::DocumentEvent_impl { public: typedef Arabica::DOM::Node_impl DOMNode_implT; typedef Arabica::DOM::Text_impl DOMText_implT; typedef Arabica::DOM::Document_impl DOMDocument_implT; typedef Arabica::DOM::NamedNodeMap_impl DOMNamedNodeMap_implT; typedef Arabica::DOM::NodeList_impl DOMNodeList_implT; typedef Arabica::DOM::Events::Event EventT; typedef Arabica::DOM::Events::EventTarget EventTargetT; typedef Arabica::DOM::Events::Event_impl Event_implT; typedef DocumentEventImpl DocumentEventImplT; DocumentEventImpl() { //std::cout << std::endl << "born " << this << std::endl; } // DocumentEventImpl virtual ~DocumentEventImpl() { //std::cout << std::endl << "die " << this << std::endl; } virtual Event_implT* createEvent(const char* eventType) { const stringT eT = string_adaptorT::construct_from_utf8(eventType); if (eT == string_adaptorT::construct_from_utf8("MutationEvent")) { return new MutationEventImpl(); } return NULL; } protected: }; // class DocumentEventImpl } // namespace SimpleDOM } // namespace Arabica #endif // JEZUK_DOM_SimpleDOM_EVENTTARGET_H // end of file