threaddispatcher.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: LGPL-3.0-or-later OR BSD-3-Clause
2 /***************************************************************************
3  * Copyright (C) 2020 by Robert Middleton *
4  * robert.middleton@rm5248.com *
5  * *
6  * This file is part of the dbus-cxx library. *
7  ***************************************************************************/
8 #ifndef DBUSCXX_THREADDISPATCHER_H
9 #define DBUSCXX_THREADDISPATCHER_H
10 
11 #include <memory>
12 
13 namespace DBus {
14 
15 class Message;
16 class Object;
17 class SignalProxyBase;
18 class SignalMessage;
19 class CallMessage;
20 
37 public:
38  virtual ~ThreadDispatcher();
39 
53  virtual void add_message( std::shared_ptr<Object> object, std::shared_ptr<const CallMessage> message ) = 0;
54 
61  virtual void add_signal_proxy( std::shared_ptr<SignalProxyBase> handler ) = 0;
62 
71  virtual bool remove_signal_proxy( std::shared_ptr<SignalProxyBase> handler ) = 0;
72 
85  virtual void add_signal( std::shared_ptr<const SignalMessage> message ) = 0;
86 
87 };
88 
89 } /* namespace DBus */
90 
91 #endif /* DBUSCXX_THREADDISPATCHER_H */
A ThreadDispatcher is responsible for executing method calls and signals on objects in the given thre...
Definition: threaddispatcher.h:36
virtual ~ThreadDispatcher()
Definition: threaddispatcher.cpp:6
virtual void add_signal(std::shared_ptr< const SignalMessage > message)=0
When a new signal message comes in that needs to be processed, this method is called with the SignalM...
virtual void add_signal_proxy(std::shared_ptr< SignalProxyBase > handler)=0
Add a signal proxy that must emit its signals from the thread represented by this ThreadDispatcher.
virtual bool remove_signal_proxy(std::shared_ptr< SignalProxyBase > handler)=0
Remove a signal proxy.
virtual void add_message(std::shared_ptr< Object > object, std::shared_ptr< const CallMessage > message)=0
When a new message comes in that needs to be processed, this method is called with the object that th...
Global DBus namespace, where everything happens.
Definition: callmessage.cpp:18