2 * Copyright 2001-2014 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
5 #ifndef _MESSAGE_QUEUE_H
6 #define _MESSAGE_QUEUE_H
17 virtual ~BMessageQueue();
19 void AddMessage(BMessage
* message
);
20 void RemoveMessage(BMessage
* message
);
22 int32
CountMessages() const;
25 BMessage
* FindMessage(int32 index
) const;
26 BMessage
* FindMessage(uint32 what
, int32 index
= 0) const;
30 bool IsLocked() const;
32 BMessage
* NextMessage();
33 bool IsNextMessage(const BMessage
* message
) const;
36 // Reserved space in the vtable for future changes to BMessageQueue
37 virtual void _ReservedMessageQueue1();
38 virtual void _ReservedMessageQueue2();
39 virtual void _ReservedMessageQueue3();
41 BMessageQueue(const BMessageQueue
&);
42 BMessageQueue
& operator=(const BMessageQueue
&);
45 // this needs to be exported for R5 compatibility and should
46 // be dropped as soon as possible
52 mutable BLocker fLock
;
58 #endif // _MESSAGE_QUEUE_H