]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/src/skin_common.hpp
Use _WIN32 rather than WIN32 (same for WIN64)
[vlc] / modules / gui / skins2 / src / skin_common.hpp
index 684deaf532f5ce270999e6cdb1ba21e73f9873ec..8b880bb1f5d70bd1cad1e142fc99e2edf4bd6721 100644 (file)
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
+#ifndef SKIN_COMMON_HPP
+#define SKIN_COMMON_HPP
+
 #ifdef HAVE_CONFIG_H
 # include "config.h"
 #endif
 
-#ifndef SKIN_COMMON_HPP
-#define SKIN_COMMON_HPP
-
 #include <vlc_common.h>
 #include <vlc_interface.h>
-#include "vlc_charset.h"
+#include <vlc_charset.h>
+#include <vlc_fs.h>
 
 #include <string>
 using namespace std;
@@ -45,6 +46,7 @@ class OSLoop;
 class VarManager;
 class VlcProc;
 class VoutManager;
+class ArtManager;
 class Theme;
 class ThemeRepository;
 
@@ -59,29 +61,22 @@ class ThemeRepository;
 #pragma warning ( disable:4786 )
 #endif
 
-// Useful macros
-#define SKINS_DELETE( p ) \
-   if( p ) \
-   { \
-       delete p; \
-   } \
-   else \
-   { \
-       msg_Err( getIntf(), "delete NULL pointer in %s at line %d", \
-                __FILE__, __LINE__ ); \
-   }
-
+#ifdef X11_SKINS
+typedef uint32_t vlc_wnd_type;
+#else
+typedef void* vlc_wnd_type;
+#endif
 
 /// Wrapper around FromLocale, to avoid the need to call LocaleFree()
 static inline string sFromLocale( const string &rLocale )
 {
-    char *s = FromLocale( rLocale.c_str() );
+    const char *s = FromLocale( rLocale.c_str() );
     string res = s;
     LocaleFree( s );
     return res;
 }
 
-#ifdef WIN32
+#ifdef _WIN32
 /// Wrapper around FromWide, to avoid the need to call free()
 static inline string sFromWide( const wstring &rWide )
 {
@@ -95,7 +90,7 @@ static inline string sFromWide( const wstring &rWide )
 /// Wrapper around ToLocale, to avoid the need to call LocaleFree()
 static inline string sToLocale( const string &rUTF8 )
 {
-    char *s = ToLocale( rUTF8.c_str() );
+    const char *s = ToLocale( rUTF8.c_str() );
     string res = s;
     LocaleFree( s );
     return res;
@@ -113,9 +108,6 @@ struct intf_sys_t
     /// The playlist thread
     playlist_t *p_playlist;
 
-    /// Message bank subscription
-    msg_subscription_t *p_sub;
-
     // "Singleton" objects: MUST be initialized to NULL !
     /// Logger
     Logger *p_logger;
@@ -135,27 +127,36 @@ struct intf_sys_t
     VlcProc *p_vlcProc;
     /// Vout manager
     VoutManager *p_voutManager;
+    /// Art manager
+    ArtManager *p_artManager;
     /// Theme repository
     ThemeRepository *p_repository;
 
     /// Current theme
     Theme *p_theme;
+
+    /// synchronisation at start of interface
+    vlc_thread_t thread;
+    vlc_mutex_t  init_lock;
+    vlc_cond_t   init_wait;
+    bool         b_error;
+    bool         b_ready;
 };
 
 
 /// Base class for all skin classes
 class SkinObject
 {
-    public:
-        SkinObject( intf_thread_t *pIntf ): m_pIntf( pIntf ) {}
-        virtual ~SkinObject() {}
+public:
+    SkinObject( intf_thread_t *pIntf ): m_pIntf( pIntf ) { }
+    virtual ~SkinObject() { }
 
-        /// Getter (public because it is used in C callbacks in the win32
-        /// interface)
-        intf_thread_t *getIntf() const { return m_pIntf; }
+    /// Getter (public because it is used in C callbacks in the win32
+    /// interface)
+    intf_thread_t *getIntf() const { return m_pIntf; }
 
-    private:
-        intf_thread_t *m_pIntf;
+private:
+    intf_thread_t *m_pIntf;
 };