vlm_event.c
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * vlm_event.c: Events
  3.  *****************************************************************************
  4.  * Copyright (C) 2009 Laurent Aimar
  5.  * $Id: 6898dcbdc4beea592d0e388b839f144482605e72 $
  6.  *
  7.  * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  22.  *****************************************************************************/
  23. /*****************************************************************************
  24.  * Preamble
  25.  *****************************************************************************/
  26. #ifdef HAVE_CONFIG_H
  27. # include "config.h"
  28. #endif
  29. #include <vlc_common.h>
  30. #include <vlc_vlm.h>
  31. #include "vlm_internal.h"
  32. #include "vlm_event.h"
  33. #include <assert.h>
  34. /* */
  35. static void Trigger( vlm_t *, int i_type, int64_t id, const char *psz_name );
  36. /*****************************************************************************
  37.  *
  38.  *****************************************************************************/
  39. void vlm_SendEventMediaAdded( vlm_t *p_vlm, int64_t id, const char *psz_name )
  40. {
  41.     Trigger( p_vlm, VLM_EVENT_MEDIA_ADDED, id, psz_name );
  42. }
  43. void vlm_SendEventMediaRemoved( vlm_t *p_vlm, int64_t id, const char *psz_name )
  44. {
  45.     Trigger( p_vlm, VLM_EVENT_MEDIA_REMOVED, id, psz_name );
  46. }
  47. void vlm_SendEventMediaChanged( vlm_t *p_vlm, int64_t id, const char *psz_name )
  48. {
  49.     Trigger( p_vlm, VLM_EVENT_MEDIA_CHANGED, id, psz_name );
  50. }
  51. void vlm_SendEventMediaInstanceStarted( vlm_t *p_vlm, int64_t id, const char *psz_name )
  52. {
  53.     Trigger( p_vlm, VLM_EVENT_MEDIA_INSTANCE_STARTED, id, psz_name );
  54. }
  55. void vlm_SendEventMediaInstanceStopped( vlm_t *p_vlm, int64_t id, const char *psz_name )
  56. {
  57.     Trigger( p_vlm, VLM_EVENT_MEDIA_INSTANCE_STOPPED, id, psz_name );
  58. }
  59. /*****************************************************************************
  60.  *
  61.  *****************************************************************************/
  62. static void Trigger( vlm_t *p_vlm, int i_type, int64_t id, const char *psz_name )
  63. {
  64.     vlm_event_t event;
  65.     event.i_type = i_type;
  66.     event.id = id;
  67.     event.psz_name = psz_name;
  68.     var_SetAddress( p_vlm, "intf-event", &event );
  69. }