Make pointer fields private and add raw() method
parent
8a4e4acecf
commit
faf6fa7323
43
src/core.rs
43
src/core.rs
|
@ -25,7 +25,7 @@ pub fn compiler() -> String {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Instance {
|
pub struct Instance {
|
||||||
pub ptr: *mut sys::libvlc_instance_t,
|
pub(crate) ptr: *mut sys::libvlc_instance_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Instance {
|
impl Instance {
|
||||||
|
@ -102,6 +102,11 @@ impl Instance {
|
||||||
sys::libvlc_log_set(self.ptr, logging_cb, Box::into_raw(cb) as *mut _);
|
sys::libvlc_log_set(self.ptr, logging_cb, Box::into_raw(cb) as *mut _);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_instance_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for Instance {
|
impl Drop for Instance {
|
||||||
|
@ -132,6 +137,13 @@ pub struct ModuleDescriptionList {
|
||||||
ptr: *mut sys::libvlc_module_description_t,
|
ptr: *mut sys::libvlc_module_description_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ModuleDescriptionList {
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_module_description_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
impl Drop for ModuleDescriptionList {
|
impl Drop for ModuleDescriptionList {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
unsafe{ sys::libvlc_module_description_list_release(self.ptr) };
|
unsafe{ sys::libvlc_module_description_list_release(self.ptr) };
|
||||||
|
@ -273,8 +285,8 @@ pub enum Event {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct EventManager<'a> {
|
pub struct EventManager<'a> {
|
||||||
pub ptr: *mut sys::libvlc_event_manager_t,
|
pub(crate) ptr: *mut sys::libvlc_event_manager_t,
|
||||||
pub _phantomdata: ::std::marker::PhantomData<&'a sys::libvlc_event_manager_t>,
|
pub(crate) _phantomdata: ::std::marker::PhantomData<&'a sys::libvlc_event_manager_t>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> EventManager<'a> {
|
impl<'a> EventManager<'a> {
|
||||||
|
@ -297,12 +309,17 @@ impl<'a> EventManager<'a> {
|
||||||
Err(())
|
Err(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_event_manager_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe extern "C" fn event_manager_callback(pe: *const sys::libvlc_event_t, data: *mut c_void) {
|
unsafe extern "C" fn event_manager_callback(pe: *const sys::libvlc_event_t, data: *mut c_void) {
|
||||||
let f: &Box<Fn(Event, VLCObject) + Send + 'static> = ::std::mem::transmute(data);
|
let f: &Box<Fn(Event, VLCObject) + Send + 'static> = ::std::mem::transmute(data);
|
||||||
|
|
||||||
f(conv_event(pe), VLCObject{_ptr: (*pe).p_obj});
|
f(conv_event(pe), VLCObject{ ptr: (*pe).p_obj });
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert c-style libvlc_event_t to Event
|
// Convert c-style libvlc_event_t to Event
|
||||||
|
@ -479,10 +496,24 @@ fn conv_event(pe: *const sys::libvlc_event_t) -> Event {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct VLCObject {
|
pub struct VLCObject {
|
||||||
_ptr: *mut c_void,
|
ptr: *mut c_void,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl VLCObject {
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut c_void {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Log {
|
pub struct Log {
|
||||||
pub ptr: *const sys::libvlc_log_t
|
pub(crate) ptr: *const sys::libvlc_log_t
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Log {
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *const sys::libvlc_log_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ use ::tools::{to_cstr, from_cstr, path_to_cstr};
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
pub struct Media {
|
pub struct Media {
|
||||||
pub ptr: *mut sys::libvlc_media_t,
|
pub(crate) ptr: *mut sys::libvlc_media_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Media {
|
impl Media {
|
||||||
|
@ -181,6 +181,11 @@ impl Media {
|
||||||
Some(track)
|
Some(track)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_media_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for Media {
|
impl Drop for Media {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use sys;
|
||||||
use ::{Instance, MediaList};
|
use ::{Instance, MediaList};
|
||||||
|
|
||||||
pub struct MediaLibrary {
|
pub struct MediaLibrary {
|
||||||
pub ptr: *mut sys::libvlc_media_library_t,
|
pub(crate) ptr: *mut sys::libvlc_media_library_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MediaLibrary {
|
impl MediaLibrary {
|
||||||
|
@ -32,6 +32,11 @@ impl MediaLibrary {
|
||||||
if p.is_null() { None }else{ Some(MediaList{ptr: p}) }
|
if p.is_null() { None }else{ Some(MediaList{ptr: p}) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_media_library_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for MediaLibrary {
|
impl Drop for MediaLibrary {
|
||||||
|
|
|
@ -6,7 +6,7 @@ use sys;
|
||||||
use ::{Instance, Media, EventManager};
|
use ::{Instance, Media, EventManager};
|
||||||
|
|
||||||
pub struct MediaList {
|
pub struct MediaList {
|
||||||
pub ptr: *mut sys::libvlc_media_list_t,
|
pub(crate) ptr: *mut sys::libvlc_media_list_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MediaList {
|
impl MediaList {
|
||||||
|
@ -104,6 +104,11 @@ impl MediaList {
|
||||||
EventManager{ptr: p, _phantomdata: ::std::marker::PhantomData}
|
EventManager{ptr: p, _phantomdata: ::std::marker::PhantomData}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_media_list_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for MediaList {
|
impl Drop for MediaList {
|
||||||
|
|
|
@ -12,7 +12,7 @@ use std::mem::transmute;
|
||||||
|
|
||||||
/// A LibVLC media player plays one media (usually in a custom drawable).
|
/// A LibVLC media player plays one media (usually in a custom drawable).
|
||||||
pub struct MediaPlayer {
|
pub struct MediaPlayer {
|
||||||
pub ptr: *mut sys::libvlc_media_player_t,
|
pub(crate) ptr: *mut sys::libvlc_media_player_t,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl MediaPlayer {
|
impl MediaPlayer {
|
||||||
|
@ -311,6 +311,11 @@ impl MediaPlayer {
|
||||||
pub fn set_video_title_display(&self, position: Position, timeout: u32) {
|
pub fn set_video_title_display(&self, position: Position, timeout: u32) {
|
||||||
unsafe{ sys::libvlc_media_player_set_video_title_display(self.ptr, position, timeout); }
|
unsafe{ sys::libvlc_media_player_set_video_title_display(self.ptr, position, timeout); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns raw pointer
|
||||||
|
pub fn raw(&self) -> *mut sys::libvlc_media_player_t {
|
||||||
|
self.ptr
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Drop for MediaPlayer {
|
impl Drop for MediaPlayer {
|
||||||
|
|
Loading…
Reference in New Issue