1//
2// Notification.h
3//
4// Library: Foundation
5// Package: Notifications
6// Module: Notification
7//
8// Definition of the Notification class.
9//
10// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
11// and Contributors.
12//
13// SPDX-License-Identifier: BSL-1.0
14//
15
16
17#ifndef Foundation_Notification_INCLUDED
18#define Foundation_Notification_INCLUDED
19
20
21#include "Poco/Foundation.h"
22#include "Poco/Mutex.h"
23#include "Poco/RefCountedObject.h"
24#include "Poco/AutoPtr.h"
25
26
27namespace Poco {
28
29
30class Foundation_API Notification: public RefCountedObject
31 /// The base class for all notification classes used
32 /// with the NotificationCenter and the NotificationQueue
33 /// classes.
34 /// The Notification class can be used with the AutoPtr
35 /// template class.
36{
37public:
38 typedef AutoPtr<Notification> Ptr;
39
40 Notification();
41 /// Creates the notification.
42
43 virtual std::string name() const;
44 /// Returns the name of the notification.
45 /// The default implementation returns the class name.
46
47protected:
48 virtual ~Notification();
49};
50
51
52} // namespace Poco
53
54
55#endif // Foundation_Notification_INCLUDED
56