server.h
Go to the documentation of this file.
1 /*
2  *
3  * D-Bus++ - C++ bindings for D-Bus
4  *
5  * Copyright (C) 2005-2007 Paolo Durante <shackan@gmail.com>
6  *
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21  *
22  */
23 
24 
25 #ifndef __DBUSXX_SERVER_H
26 #define __DBUSXX_SERVER_H
27 
28 #include <list>
29 
30 #include "api.h"
31 #include "error.h"
32 #include "connection.h"
33 #include "util.h"
34 #include "dispatcher.h"
35 
36 namespace DBus
37 {
38 
39 class Server;
40 
41 typedef std::list<Server> ServerList;
42 
43 class DXXAPI Server
44 {
45 public:
46 
47  Server(const char *address);
48 
49  Dispatcher *setup(Dispatcher *);
50 
51  virtual ~Server();
52 
53  bool listening() const;
54 
55  bool operator == (const Server &) const;
56 
57  void disconnect();
58 
59  void enable_auth(bool);
60 
61  void enable_anon(bool);
62 
63  struct Private;
64 
65 protected:
66 
67  Server(const Server &s)
68  {}
69 
70  virtual void on_new_connection(Connection &c) = 0;
71 
72  virtual bool on_user_auth(unsigned long uid);
73 
74 private:
75 
77 };
78 
79 } /* namespace DBus */
80 
81 #endif//__DBUSXX_SERVER_H
Server(const Server &s)
Definition: server.h:67
#define DXXAPI
Definition: api.h:36
RefPtrI< Private > _pvt
Definition: server.h:76
std::list< Server > ServerList
Definition: server.h:39