/// <summary> /// Create a event manager with parent Vlc object and pointer of event manager. /// </summary> /// <param name="parentVlcObject"></param> /// <param name="pointer"></param> public VlcEventManager(IVlcObject parentVlcObject, void *pointer) { VlcInstance = parentVlcObject.VlcInstance; InstancePointer = pointer; VlcObjectManager.Add(this); _onVlcEventFired = OnVlcEventFired; _onVlcEventFiredHandle = GCHandle.Alloc(_onVlcEventFired); }
public static void Detach(IVLCSubscribable Object, VLCEventType Event, libvlc_callback_t Callback, IntPtr?UserData = null) { IntPtr UsrData = (UserData.HasValue) ? (IntPtr)UserData : IntPtr.Zero; NativeMethods.libvlc_event_detach( Object.EventManager, (libvlc_event_e)Event, Callback, UsrData ); }
public VLCEventBinding(VLCEventType EventType, IntPtr?UserData = null) { Type = EventType; EventDelegate = new libvlc_callback_t(delegate(IntPtr EventPtr, IntPtr UserDataPtr) { var Event = Transform.ToStructure <libvlc_event_t>(EventPtr); if (Event.type == (libvlc_event_e)Type) { Invoked(Event, UserDataPtr); } }); }
//========================================================================== public void libvlc_event_detach(IntPtr p_event_manager, libvlc_event_e i_event_type, libvlc_callback_t callback, IntPtr user_data) { VerifyAccess(); m_libvlc_event_detach(p_event_manager, i_event_type, callback, user_data); }
//========================================================================== public int libvlc_event_attach(IntPtr p_event_manager, libvlc_event_e i_event_type, libvlc_callback_t callback, IntPtr user_data) { VerifyAccess(); return(m_libvlc_event_attach(p_event_manager, i_event_type, callback, user_data)); }
//========================================================================== public int libvlc_event_attach(IntPtr p_event_manager, libvlc_event_e i_event_type, libvlc_callback_t callback, IntPtr user_data) { VerifyAccess(); return m_libvlc_event_attach(p_event_manager, i_event_type, callback, user_data); }
public static extern void libvlc_event_detach(libvlc_event_manager_t p_event_manager, libvlc_event_type_t i_event_type, libvlc_callback_t f_callback, IntPtr p_user_data);
public static extern int libvlc_event_attach(libvlc_event_manager_t p_event_manager, libvlc_event_type_t i_event_type, libvlc_callback_t f_callback, IntPtr user_data);
public static extern int libvlc_event_attach(IntPtr p_event_manager, int i_event_type, libvlc_callback_t f_callback, IntPtr user_data);
public static extern void libvlc_event_detach(IntPtr p_event_manager, int i_event_type, libvlc_callback_t f_callback, IntPtr p_user_data);