1//
2// BasicEvent.h
3//
4// Library: Foundation
5// Package: Events
6// Module: BasicEvent
7//
8// Implementation of the BasicEvent template.
9//
10// Copyright (c) 2006-2011, Applied Informatics Software Engineering GmbH.
11// and Contributors.
12//
13// SPDX-License-Identifier: BSL-1.0
14//
15
16
17#ifndef Foundation_BasicEvent_INCLUDED
18#define Foundation_BasicEvent_INCLUDED
19
20
21#include "Poco/AbstractEvent.h"
22#include "Poco/DefaultStrategy.h"
23#include "Poco/AbstractDelegate.h"
24#include "Poco/Mutex.h"
25
26
27namespace Poco {
28
29
30template <class TArgs, class TMutex = FastMutex>
31class BasicEvent: public AbstractEvent <
32 TArgs, DefaultStrategy<TArgs, AbstractDelegate<TArgs> >,
33 AbstractDelegate<TArgs>,
34 TMutex
35>
36 /// A BasicEvent uses the DefaultStrategy which
37 /// invokes delegates in the order they have been registered.
38 ///
39 /// Please see the AbstractEvent class template documentation
40 /// for more information.
41{
42public:
43 BasicEvent()
44 {
45 }
46
47 ~BasicEvent()
48 {
49 }
50
51private:
52 BasicEvent(const BasicEvent& e);
53 BasicEvent& operator = (const BasicEvent& e);
54};
55
56
57} // namespace Poco
58
59
60#endif // Foundation_BasicEvent_INCLUDED
61