WvStreams
Main Page
Modules
Classes
Files
File List
File Members
include
wvdbusserver.h
1
/* -*- Mode: C++ -*-
2
* Worldvisions Weaver Software:
3
* Copyright (C) 2004-2006 Net Integration Technologies, Inc.
4
*
5
* Pathfinder Software:
6
* Copyright (C) 2007, Carillon Information Security Inc.
7
*
8
* This library is licensed under the LGPL, please read LICENSE for details.
9
*
10
* This class represents a dbus server, which may have multiple connections
11
* at the same time. It is intended purely for unit testing and debugging
12
* purposes and by no means should be used in production code (use the
13
* dbus daemon for that).
14
*
15
*/
16
#ifndef __WVDBUSSERVER_H
17
#define __WVDBUSSERVER_H
18
19
#include "wvlistener.h"
20
#include "wvhashtable.h"
21
#include "wvlog.h"
22
#include "wvistreamlist.h"
23
#include <stdint.h>
24
25
class
WvDBusMsg
;
26
class
WvDBusConn
;
27
DeclareWvList(
WvDBusConn
);
28
29
30
class
WvDBusServer
:
public
WvIStreamList
31
{
32
WvIStreamList
listeners;
33
public
:
34
/*
35
* Constructs a new DBus server. You must then call listen() to
36
* actually listen for new connections.
37
*/
38
WvDBusServer
();
39
43
WvDBusServer
(
WvDBusServer
&c);
44
48
virtual
~WvDBusServer
();
49
59
void
listen
(
WvStringParm
moniker);
60
61
virtual
bool
isok
()
const
;
62
virtual
int
geterr
()
const
;
63
68
void
register_name
(
WvStringParm
name,
WvDBusConn
*conn);
69
73
void
unregister_name
(
WvStringParm
name,
WvDBusConn
*conn);
74
80
void
unregister_conn
(
WvDBusConn
*conn);
81
86
WvString
get_addr
();
87
88
private
:
89
WvLog
log;
90
WvDBusConnList all_conns;
91
std::map<WvString,WvDBusConn*> name_to_conn;
92
93
void
new_connection_cb(
IWvStream
*s);
94
void
conn_closed(
WvStream
&s);
95
96
bool
do_server_msg(
WvDBusConn
&conn,
WvDBusMsg
&msg);
97
bool
do_bridge_msg(
WvDBusConn
&conn,
WvDBusMsg
&msg);
98
bool
do_broadcast_msg(
WvDBusConn
&conn,
WvDBusMsg
&msg);
99
bool
do_gaveup_msg(
WvDBusConn
&conn,
WvDBusMsg
&msg);
100
};
101
102
#endif // __WVDBUSSERVER_H
Generated on Thu Oct 31 2013 15:14:23 for WvStreams by
1.8.4