* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
-#include <vlc/vlc.h>
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+#include <vlc_common.h>
#include "vlc_xml.h"
+#include "../libvlc.h"
+#undef xml_Create
/*****************************************************************************
* xml_Create:
*****************************************************************************
* Create an instance of an XML parser.
* Returns NULL on error.
*****************************************************************************/
-xml_t *__xml_Create( vlc_object_t *p_this )
+xml_t *xml_Create( vlc_object_t *p_this )
{
xml_t *p_xml;
- p_xml = vlc_object_create( p_this, VLC_OBJECT_XML );
+ p_xml = vlc_custom_create( p_this, sizeof( *p_xml ), VLC_OBJECT_GENERIC,
+ "xml" );
vlc_object_attach( p_xml, p_this );
- p_xml->p_module = module_Need( p_xml, "xml", 0, 0 );
+ p_xml->p_module = module_need( p_xml, "xml", NULL, false );
if( !p_xml->p_module )
{
- vlc_object_detach( p_xml );
- vlc_object_destroy( p_xml );
+ vlc_object_release( p_xml );
msg_Err( p_this, "XML provider not found" );
return NULL;
}
*****************************************************************************/
void xml_Delete( xml_t *p_xml )
{
- module_Unneed( p_xml, p_xml->p_module );
- vlc_object_detach( p_xml );
- vlc_object_destroy( p_xml );
+ module_unneed( p_xml, p_xml->p_module );
+ vlc_object_release( p_xml );
}