[vlmc-devel] IBackend

Yikai Lu git at videolan.org
Mon Jul 4 15:33:39 CEST 2016


vlmc | branch: medialibrary | Yikai Lu <luyikei.qmltu at gmail.com> | Tue Jun 21 17:53:25 2016 +0900| [b76c35702a83c89ab9d286af172d7cc3dfc1e8ff] | committer: Yikai Lu

IBackend

> https://code.videolan.org/videolan/vlmc/commit/b76c35702a83c89ab9d286af172d7cc3dfc1e8ff
---

 src/Backend/IBackend.h | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/Backend/IBackend.h b/src/Backend/IBackend.h
index 7827a3b..22be9f8 100644
--- a/src/Backend/IBackend.h
+++ b/src/Backend/IBackend.h
@@ -3,7 +3,8 @@
  *****************************************************************************
  * Copyright (C) 2008-2016 VideoLAN
  *
- * Authors: Hugo Beauzée-Luyssen <hugo at beauzee.fr>
+ * Authors: Yikei Lu <luyikei.qmltu at gmail.com>
+ *          Hugo Beauzée-Luyssen <hugo at beauzee.fr>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -25,12 +26,15 @@
 
 #include <functional>
 
+#include <string>
+#include <map>
+
 namespace Backend
 {
 
-class ISourceRenderer;
-class ISource;
-class IMemorySource;
+class IConsumer;
+class IProfile;
+class IFilterInfo;
 
 class IBackend
 {
@@ -45,13 +49,14 @@ class IBackend
         using LogHandler = std::function<void( LogLevel logLevel, const char* msg )>;
 
         virtual ~IBackend() = default;
-        virtual ISource*        createSource( const char* path ) = 0;
-        virtual IMemorySource*  createMemorySource() = 0;
-        virtual void            setLogHandler( LogHandler logHandler ) = 0;
-};
+        virtual IProfile&                   profile() = 0;
+        virtual const std::map<std::string, IFilterInfo*>&    availableFilters() const = 0;
+        virtual IFilterInfo*                                  filterInfo( const std::string& id ) const = 0;
 
-extern IBackend* getBackend();
+        virtual void                        setLogHandler( LogHandler logHandler ) = 0;
+};
 
+extern IBackend* instance();
 }
 
 #endif // IBACKEND_H



More information about the Vlmc-devel mailing list