[vlc-devel] commit: Extensions: core function dialog_ExtensionUpdate ( Jean-Philippe André )

git version control git at videolan.org
Sun Jan 24 16:09:52 CET 2010


vlc | branch: master | Jean-Philippe André <jpeg at videolan.org> | Tue Jan 19 13:40:42 2010 +0100| [8c64238e463aac8855dacc3aad4588e2b0a25d95] | committer: Jean-Philippe André 

Extensions: core function dialog_ExtensionUpdate

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8c64238e463aac8855dacc3aad4588e2b0a25d95
---

 src/interface/dialog.c |   21 +++++++++++++++++++++
 src/libvlccore.sym     |    1 +
 2 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/src/interface/dialog.c b/src/interface/dialog.c
index 5050040..c1f21e2 100644
--- a/src/interface/dialog.c
+++ b/src/interface/dialog.c
@@ -31,6 +31,7 @@
 
 #include <vlc_common.h>
 #include <vlc_dialog.h>
+#include <vlc_extensions.h>
 #include <assert.h>
 #include "libvlc.h"
 
@@ -259,3 +260,23 @@ bool dialog_ProgressCancelled (dialog_progress_bar_t *dialog)
     return dialog->pf_check (dialog->p_sys);
 }
 
+#undef dialog_ExtensionUpdate
+int dialog_ExtensionUpdate (vlc_object_t *obj, extension_dialog_t *dialog)
+{
+    assert (obj);
+    assert (dialog);
+
+    vlc_object_t *dp = dialog_GetProvider(obj);
+    if (!dp)
+    {
+        msg_Warn (obj, "Dialog provider is not set, can't update dialog '%s'",
+                  dialog->psz_title);
+        return VLC_EGENERIC;
+    }
+
+    // Signaling the dialog provider
+    int ret = var_SetAddress (dp, "dialog-extension", dialog);
+
+    vlc_object_release (dp);
+    return ret;
+}
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 8a6bbd7..93bd730 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -102,6 +102,7 @@ demux_GetParentInput
 demux_PacketizerDestroy
 demux_PacketizerNew
 demux_vaControlHelper
+dialog_ExtensionUpdate
 dialog_Login
 dialog_ProgressCancelled
 dialog_ProgressCreate




More information about the vlc-devel mailing list