static void IFusionSound_Requestor_Destruct( IFusionSound *thiz ) { D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IVoodooPlayer_Dispatcher_Destruct( IVoodooPlayer *thiz ) { D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBInputDevice_Dispatcher_Destruct( IDirectFBInputDevice *thiz ) { D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBWindow_Destruct( IDirectFBWindow *thiz ) { IDirectFBWindow_data *data = (IDirectFBWindow_data*)thiz->priv; D_DEBUG_AT( IDirectFB_Window, "IDirectFBWindow_Destruct()\n" ); if (!data->detached) { D_DEBUG_AT( IDirectFB_Window, " -> detaching...\n" ); dfb_window_detach( data->window, &data->reaction ); } if (data->created) { D_DEBUG_AT( IDirectFB_Window, " -> destroying...\n" ); CoreWindow_Destroy( data->window ); } /* this will destroy the fusion object and (eventually) the window */ D_DEBUG_AT( IDirectFB_Window, " -> unrefing...\n" ); dfb_window_unref( data->window ); D_DEBUG_AT( IDirectFB_Window, " -> releasing surface...\n" ); if (data->surface) data->surface->Release( data->surface ); D_DEBUG_AT( IDirectFB_Window, " -> done.\n" ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBGL_Destruct( IDirectFBGL *thiz ) { // IDirectFBGL_data *data = thiz->priv; DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBDisplayLayer_Dispatcher_Destruct( IDirectFBDisplayLayer *thiz ) { D_DEBUG( "%s (%p)^n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBImageProvider_Requestor_Destruct( IDirectFBImageProvider *thiz ) { D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBWindows_Requestor_Destruct( IDirectFBWindows *thiz ) { D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBScreen_Destruct( IDirectFBScreen *thiz ) { // IDirectFBScreen_data *data = (IDirectFBScreen_data*)thiz->priv; DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static DFBResult Construct( IDirectFBImageProvider *thiz, ... ) { DFBResult ret = DFB_FAILURE; IDirectFBDataBuffer *buffer; CoreDFB *core; va_list tag; DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_MPEG2) va_start( tag, thiz ); buffer = va_arg( tag, IDirectFBDataBuffer * ); core = va_arg( tag, CoreDFB * ); va_end( tag ); data->base.ref = 1; data->base.buffer = buffer; data->core = core; /* Increase the data buffer reference counter. */ buffer->AddRef( buffer ); /* Initialize mpeg2 decoding. */ data->dec = MPEG2_Init( mpeg2_read_func, buffer, &data->width, &data->height ); if (!data->dec) goto error; data->stage = STAGE_INFO; /* Allocate image data. */ data->image = D_MALLOC( data->width * data->height * 4 ); if (!data->image) goto error; data->stage = STAGE_IMAGE; data->base.Destruct = IDirectFBImageProvider_MPEG2_Destruct; thiz->RenderTo = IDirectFBImageProvider_MPEG2_RenderTo; thiz->SetRenderCallback = IDirectFBImageProvider_MPEG2_SetRenderCallback; thiz->GetImageDescription = IDirectFBImageProvider_MPEG2_GetImageDescription; thiz->GetSurfaceDescription = IDirectFBImageProvider_MPEG2_GetSurfaceDescription; return DFB_OK; error: if (data->dec) MPEG2_Close(data->dec); buffer->Release( buffer ); DIRECT_DEALLOCATE_INTERFACE(thiz); return ret; }
static void IDirectFBImageProvider_SH7722_JPEG_Destruct( IDirectFBImageProvider *thiz ) { IDirectFBImageProvider_SH7722_JPEG_data *data = thiz->priv; data->buffer->Release( data->buffer ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBVideoProvider_Xine_Destruct( IDirectFBVideoProvider *thiz ) { IDirectFBVideoProvider_Xine_data *data = thiz->priv; if (data->xine) { if (data->stream) { xine_stop( data->stream ); xine_close( data->stream ); if (data->queue) xine_event_dispose_queue( data->queue ); xine_dispose( data->stream ); } if (data->post) xine_post_dispose( data->xine, data->post ); if (data->vo) xine_close_video_driver( data->xine, data->vo ); if (data->ao) xine_close_audio_driver( data->xine, data->ao ); if (data->cfg) { xine_config_save( data->xine, data->cfg ); D_FREE( data->cfg ); } xine_exit( data->xine ); } if (data->buffer_thread) { direct_thread_cancel( data->buffer_thread ); direct_thread_join( data->buffer_thread ); direct_thread_destroy( data->buffer_thread ); } if (data->buffer) data->buffer->Release( data->buffer ); if (data->pipe) { unlink( data->pipe ); D_FREE( data->pipe ); } if (data->events) data->events->Release( data->events ); D_FREE( data->mrl ); pthread_mutex_destroy( &data->lock ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBImageProvider_DFIFF_Destruct( IDirectFBImageProvider *thiz ) { IDirectFBImageProvider_DFIFF_data *data = thiz->priv; munmap( data->ptr, data->len ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void ICoreResourceManager_test_Destruct( ICoreResourceManager *thiz ) { D_DEBUG_AT( ICoreResourceManager_test, "%s( %p )\n", __FUNCTION__, thiz ); D_ASSERT( thiz != NULL ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
void IDirectFBFont_Destruct( IDirectFBFont *thiz ) { IDirectFBFont_data *data = (IDirectFBFont_data*)thiz->priv; dfb_font_destroy (data->font); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static DFBResult Construct( IDirectFBImageProvider *thiz, ... ) { DFBResult ret; struct stat info; void *ptr; IDirectFBDataBuffer_data *buffer_data; IDirectFBDataBuffer *buffer; CoreDFB *core; va_list tag; DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_ANDROID) va_start( tag, thiz ); buffer = va_arg( tag, IDirectFBDataBuffer * ); core = va_arg( tag, CoreDFB * ); va_end( tag ); D_MAGIC_ASSERT( (IAny*) buffer, DirectInterface ); buffer_data = buffer->priv; if (!buffer_data) { ret = DFB_DEAD; goto error; } if (buffer_data->filename) { data->path = D_STRDUP( buffer_data->filename ); if (stat( buffer_data->filename, &info ) < 0) { ret = errno2result( errno ); D_PERROR( "ImageProvider/ANDROID: Failure during fstat() of '%s'!\n", buffer_data->filename ); goto error; } } data->base.ref = 1; data->base.core = core; data->base.buffer = buffer; buffer->AddRef( buffer ); data->base.Destruct = IDirectFBImageProvider_ANDROID_Destruct; thiz->RenderTo = IDirectFBImageProvider_ANDROID_RenderTo; thiz->GetImageDescription = IDirectFBImageProvider_ANDROID_GetImageDescription; thiz->GetSurfaceDescription = IDirectFBImageProvider_ANDROID_GetSurfaceDescription; return DFB_OK; error: DIRECT_DEALLOCATE_INTERFACE(thiz); return ret; }
static void IDirectFBPalette_Destruct( IDirectFBPalette *thiz ) { IDirectFBPalette_data *data = (IDirectFBPalette_data*)thiz->priv; if (data->palette) dfb_palette_unref( data->palette ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBImageProvider_GIF_Destruct( IDirectFBImageProvider *thiz ) { IDirectFBImageProvider_GIF_data *data = (IDirectFBImageProvider_GIF_data*)thiz->priv; if (data->image) D_FREE( data->image ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IFusionDale_Dispatcher_Destruct( IFusionDale *thiz ) { IFusionDale_Dispatcher_data *data = thiz->priv; D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); data->real->Release( data->real ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBInputDevice_Dispatcher_Destruct( IDirectFBInputDevice *thiz ) { IDirectFBInputDevice_Dispatcher_data *data = thiz->priv; D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); data->real->Release( data->real ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IFusionDaleMessenger_Destruct( IFusionDaleMessenger *thiz ) { IFusionDaleMessenger_data *data = thiz->priv; fd_messenger_port_detach( data->port, &data->port->local_reaction ); fd_messenger_port_unref( data->port ); fd_messenger_unref( data->messenger ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
void IFusionDale_Destruct( IFusionDale *thiz ) { IFusionDale_data *data = (IFusionDale_data*)thiz->priv; fd_core_destroy( data->core, false ); DIRECT_DEALLOCATE_INTERFACE( thiz ); if (ifusiondale_singleton == thiz) ifusiondale_singleton = NULL; }
static void IComaComponent_One_Destruct( IComaComponent *thiz ) { int i; IComaComponent_One_data *data = thiz->priv; D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); /* If method_func is non-NULL, we're the creator */ if (data->method_func) { if (data->dispatch_thread) { data->dispatch_stop = true; OneQueue_WakeUp( &data->method_qid, 1 ); direct_thread_join( data->dispatch_thread ); direct_thread_destroy( data->dispatch_thread ); } OneQueue_Destroy( data->method_qid ); for (i=0; i<data->num_notifications; i--) OneQueue_Destroy( data->notifications[i].qid ); } data->notify_stop = true; OneQueue_WakeUp( &data->notify_qid, 1 ); if (data->notify_thread) { direct_thread_join( data->notify_thread ); direct_thread_destroy( data->notify_thread ); } OneQueue_Destroy( data->notify_qid ); direct_hash_iterate( data->calls, call_iterator, data ); direct_hash_destroy( data->calls ); direct_mutex_deinit( &data->calls_lock ); if (data->notifications) D_FREE( data->notifications ); if (data->listeners) D_FREE( data->listeners ); One_Shutdown(); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFB_Requestor_Destruct( IDirectFB *thiz ) { IDirectFB_Requestor_data *data = thiz->priv; D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); voodoo_client_destroy( data->client ); idirectfb_singleton = NULL; DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBWindow_Requestor_Destruct( IDirectFBWindow *thiz ) { IDirectFBWindow_Requestor_data *data = thiz->priv; D_DEBUG( "%s (%p)\n", __FUNCTION__, thiz ); voodoo_manager_request( data->manager, data->instance, IDIRECTFBWINDOW_METHOD_ID_Release, VREQ_NONE, NULL, VMBT_NONE ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static DFBResult Construct( IDirectFBImageProvider *thiz, ... ) { IDirectFBDataBuffer *buffer; CoreDFB *core; va_list tag; DIRECT_ALLOCATE_INTERFACE_DATA(thiz, IDirectFBImageProvider_GIF) va_start( tag, thiz ); buffer = va_arg( tag, IDirectFBDataBuffer * ); core = va_arg( tag, CoreDFB * ); va_end( tag ); data->base.ref = 1; data->base.buffer = buffer; data->base.core = core; buffer->AddRef( buffer ); data->GrayScale = -1; data->transparent = -1; data->delayTime = -1; data->image = ReadGIF( data, 1, &data->image_width, &data->image_height, &data->image_transparency, &data->image_colorkey, true, false ); buffer->Release( buffer ); data->base.buffer = NULL; if (!data->image || (data->image_height == 0) || (data->image_width == 0) ) { DIRECT_DEALLOCATE_INTERFACE( thiz ); return DFB_FAILURE; } data->base.Destruct = IDirectFBImageProvider_GIF_Destruct; thiz->RenderTo = IDirectFBImageProvider_GIF_RenderTo; thiz->GetImageDescription = IDirectFBImageProvider_GIF_GetImageDescription; thiz->GetSurfaceDescription = IDirectFBImageProvider_GIF_GetSurfaceDescription; return DFB_OK; }
/* ------------------------------------------ */ static void IDirectFBVideoProvider_Swf_Destruct(IDirectFBVideoProvider *thiz ) { IDirectFBVideoProvider_Swf_data *data; data = (IDirectFBVideoProvider_Swf_data*)thiz->priv; thiz->Stop( thiz ); FlashClose(data->flashHandle); dfb_surface_unref( data->source ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBVideoProvider_V4L_Destruct( IDirectFBVideoProvider *thiz ) { IDirectFBVideoProvider_V4L_data *data = (IDirectFBVideoProvider_V4L_data*)thiz->priv; if (data->cleanup) dfb_core_cleanup_remove( NULL, data->cleanup ); v4l_deinit( data ); D_FREE( data->filename ); pthread_mutex_destroy( &data->lock ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IDirectFBImageProvider_PNG_Destruct( IDirectFBImageProvider *thiz ) { IDirectFBImageProvider_PNG_data *data = (IDirectFBImageProvider_PNG_data*)thiz->priv; png_destroy_read_struct( &data->png_ptr, &data->info_ptr, NULL ); /* Decrease the data buffer reference counter. */ data->buffer->Release( data->buffer ); /* Deallocate image data. */ if (data->image) D_FREE( data->image ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }
static void IComaComponent_Destruct( IComaComponent *thiz ) { int i; IComaComponent_data *data = thiz->priv; for (i=0; i<data->num_notifications; i++) { if (data->listeners[i].func) coma_component_detach( data->component, &data->listeners[i].reaction ); } coma_component_unref( data->component ); if (data->listeners) D_FREE( data->listeners ); DIRECT_DEALLOCATE_INTERFACE( thiz ); }