dbus-cxx
glibdispatcher.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) 2007,2008,2009,2010 by Rick L. Vinyard, Jr. *
4 * rvinyard@cs.nmsu.edu *
5 * Copyright (C) 2020 by Robert Middleton *
6 * robert.middleton@rm5248.com *
7 * *
8 * This file is part of the dbus-cxx library. *
9 ***************************************************************************/
10#include <dbus-cxx/dispatcher.h>
11#include <glib.h>
12
13#ifndef DBUSCXX_GLIB_DISPATCHER_H
14#define DBUSCXX_GLIB_DISPATCHER_H
15
16namespace DBus
17{
18namespace GLib {
19
24{
25private:
27
28public:
30
31 static std::shared_ptr<GLibDispatcher> create();
32
33 std::shared_ptr<Connection> create_connection( BusType type );
34
35 std::shared_ptr<Connection> create_connection( std::string address );
36
37 bool add_connection( std::shared_ptr<Connection> connection );
38
39private:
40 gboolean channel_has_data(GIOChannel* channel, GIOCondition condition );
41 static gboolean channel_data_cb(GIOChannel* channel, GIOCondition condition, gpointer data );
42
43private:
44 class priv_data;
45
46 DBUS_CXX_PROPAGATE_CONST(std::unique_ptr<priv_data>) m_priv;
47};
48
49} /* namespace GLib */
50} /* namespace DBus */
51
52#endif
A Dispatcher handles all of the reading/writing that a Connection needs in order to work correctly.
Definition: dispatcher.h:24
Does all dispatching in the main GLib context.
Definition: glibdispatcher.h:24
bool add_connection(std::shared_ptr< Connection > connection)
Definition: glibdispatcher.cpp:71
std::shared_ptr< Connection > create_connection(BusType type)
Definition: glibdispatcher.cpp:55
~GLibDispatcher()
Definition: glibdispatcher.cpp:45
gboolean channel_has_data(GIOChannel *channel, GIOCondition condition)
Definition: glibdispatcher.cpp:84
static gboolean channel_data_cb(GIOChannel *channel, GIOCondition condition, gpointer data)
Definition: glibdispatcher.cpp:101
DBUS_CXX_PROPAGATE_CONST(std::unique_ptr< priv_data >) m_priv
GLibDispatcher()
Definition: glibdispatcher.cpp:40
static std::shared_ptr< GLibDispatcher > create()
Definition: glibdispatcher.cpp:51
Global DBus namespace, where everything happens.
Definition: callmessage.cpp:18
BusType
Definition: enums.h:16
DataType type(const uint8_t &)
Definition: types.h:139