sdp: Implement Borrow/BorrowMut/ToOwned for SDPMessage

This commit is contained in:
Sebastian Dröge 2019-02-28 12:10:25 +02:00
parent af86d5745d
commit 1d2f77bb64

View file

@ -6,11 +6,11 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
use std::borrow::{Borrow, BorrowMut, ToOwned};
use std::ffi::CStr;
use std::fmt;
use std::mem;
use std::ops;
#[cfg(any(feature = "v1_8_1", feature = "dox"))]
use std::ptr;
use ffi;
@ -929,6 +929,30 @@ impl SDPMessageRef {
}
}
impl Borrow<SDPMessageRef> for SDPMessage {
fn borrow(&self) -> &SDPMessageRef {
&*self
}
}
impl BorrowMut<SDPMessageRef> for SDPMessage {
fn borrow_mut(&mut self) -> &mut SDPMessageRef {
&mut *self
}
}
impl ToOwned for SDPMessageRef {
type Owned = SDPMessage;
fn to_owned(&self) -> SDPMessage {
unsafe {
let mut ptr = ptr::null_mut();
ffi::gst_sdp_message_copy(&self.0, &mut ptr);
from_glib_full(ptr)
}
}
}
macro_rules! define_iter(
($name:ident, $typ:ty, $get_item:expr, $get_len:expr) => {
#[derive(Debug)]