Kaydet (Commit) c40a6364 authored tarafından Minh Ngo's avatar Minh Ngo Kaydeden (comit) Michael Meeks

VLC Event handling in the separate thread.

Change-Id: I56daa508de79281df5536215222e5af224dae0f5
üst 626d9977
...@@ -36,6 +36,7 @@ $(eval $(call gb_Library_use_libraries,avmediavlc,\ ...@@ -36,6 +36,7 @@ $(eval $(call gb_Library_use_libraries,avmediavlc,\
tl \ tl \
vcl \ vcl \
utl \ utl \
salhelper \
$(gb_UWINAPI) \ $(gb_UWINAPI) \
)) ))
...@@ -49,6 +50,8 @@ $(eval $(call gb_Library_add_exception_objects,avmediavlc,\ ...@@ -49,6 +50,8 @@ $(eval $(call gb_Library_add_exception_objects,avmediavlc,\
avmedia/source/vlc/wrapper/Media \ avmedia/source/vlc/wrapper/Media \
avmedia/source/vlc/wrapper/Player \ avmedia/source/vlc/wrapper/Player \
avmedia/source/vlc/wrapper/EventManager \ avmedia/source/vlc/wrapper/EventManager \
avmedia/source/vlc/wrapper/EventHandler \
avmedia/source/vlc/wrapper/ThreadsafeQueue \
)) ))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
#include "EventHandler.hxx"
namespace VLC
{
EventHandler::EventHandler( const char *name )
: Thread( name )
{
}
void EventHandler::execute()
{
TCallback callback;
do
{
mCallbackQueue.pop( callback );
if ( callback.empty() )
return;
else
callback();
} while ( true );
}
}
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef _WRAPPER_EVENT_HANDLER_HXX
#define _WRAPPER_EVENT_HANDLER_HXX
#include <boost/function.hpp>
#include <salhelper/thread.hxx>
#include "ThreadsafeQueue.hxx"
namespace VLC
{
class EventHandler : public salhelper::Thread
{
public:
EventHandler( const char* name );
protected:
virtual void execute();
public:
typedef boost::function< void() > TCallback;
avmedia::vlc::ThreadsafeQueue< TCallback > mCallbackQueue;
};
}
#endif // _WRAPPER_EVENT_HANDLER_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment