#include "PluginSignals.h"
#include "Plugin.h"
-namespace WrtPluginsApi
-{
-
+namespace WrtPluginsApi {
class SignalsSupport
{
-public:
+ public:
virtual ~SignalsSupport() {}
template<typename T>
void Connect(const std::string& libraryName, const typename T::Type& slot)
{
- Tuple::get_by_type<CallbackSupport<T>>(m_slots).Connect(libraryName,
- slot);
+ Tuple::get_by_type<CallbackSupport<T> >(m_slots).Connect(libraryName,
+ slot);
}
void Disconnect(const std::string& libraryName)
virtual void AddPlugin(const std::string& libraryName, Plugin& plugin) = 0;
-protected:
- template<typename T, typename ...Args>
- void Invoke(const Args&... args)
+ protected:
+ template<typename T, typename ... Args>
+ void Invoke(const Args& ... args)
{
- Tuple::get_by_type<CallbackSupport<T>>(m_slots).Invoke(args...);
+ Tuple::get_by_type<CallbackSupport<T> >(m_slots).Invoke(args ...);
}
- template<typename T, typename ...Args>
- void InvokeGroup(const std::string& libraryName, const Args&... args)
+ template<typename T, typename ... Args>
+ void InvokeGroup(const std::string& libraryName, const Args& ... args)
{
- Tuple::get_by_type<CallbackSupport<T>>(m_slots).InvokeGroup(libraryName,
- args...);
+ Tuple::get_by_type<CallbackSupport<T> >(m_slots).InvokeGroup(
+ libraryName,
+ args ...);
}
-private:
- template<int N, typename ...Args>
- void DisconnectSlot(std::tuple<Args...>& slots,
+ private:
+ template<int N, typename ... Args>
+ void DisconnectSlot(std::tuple<Args ...>& slots,
const std::string& libraryName,
typename std::enable_if<(N >= 0)>::type* = NULL)
{
std::get<N>(slots).Disconnect(libraryName);
- DisconnectSlot<N-1>(slots, libraryName);
+ DisconnectSlot<N - 1>(slots, libraryName);
}
- template<int N, typename ...Args>
- void DisconnectSlot(std::tuple<Args...>& slots,
- const std::string& libraryName,
+ template<int N, typename ... Args>
+ void DisconnectSlot(std::tuple<Args ...>& /*slots*/,
+ const std::string& /*libraryName*/,
typename std::enable_if<(N == -1)>::type* = NULL)
- {
- }
+ {}
- template<typename ...Args>
- void DisconnectGroup(std::tuple<Args...>& slots,
+ template<typename ... Args>
+ void DisconnectGroup(std::tuple<Args ...>& slots,
const std::string& libraryName)
{
- DisconnectSlot<sizeof...(Args)-1>(slots, libraryName);
+ DisconnectSlot<sizeof ... (Args)-1>(slots, libraryName);
}
std::tuple<CallbackSupport<OnWidgetStart>,
CallbackSupport<OnWidgetStop>,
CallbackSupport<OnFrameLoad>,
- CallbackSupport<OnFrameUnload>> m_slots;
+ CallbackSupport<OnFrameUnload> > m_slots;
};
-
}
#endif