// Copyright (C) 2018 Sebastian Dröge // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use ffi; use glib; #[derive(PartialEq, Eq)] pub struct RTSPContext(*mut ffi::GstRTSPContext); impl RTSPContext { pub fn with_current_context T, T>(func: F) -> Option { unsafe { let ptr = ffi::gst_rtsp_context_get_current(); if ptr.is_null() { return None; } let ctx = RTSPContext(ptr); Some(func(&ctx)) } } // TODO: Add various getters for all the contained fields as needed } #[doc(hidden)] impl glib::translate::FromGlibPtrBorrow<*mut ffi::GstRTSPContext> for RTSPContext { #[inline] unsafe fn from_glib_borrow(ptr: *mut ffi::GstRTSPContext) -> Self { RTSPContext(ptr) } }