00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __DBUSXX_SERVER_H
00026 #define __DBUSXX_SERVER_H
00027
00028 #include <list>
00029
00030 #include "api.h"
00031 #include "error.h"
00032 #include "connection.h"
00033 #include "util.h"
00034 #include "dispatcher.h"
00035
00036 namespace DBus
00037 {
00038
00039 class Server;
00040
00041 typedef std::list<Server> ServerList;
00042
00043 class DXXAPI Server
00044 {
00045 public:
00046
00047 Server(const char *address);
00048
00049 Dispatcher *setup(Dispatcher *);
00050
00051 virtual ~Server();
00052
00053 bool listening() const;
00054
00055 bool operator == (const Server &) const;
00056
00057 void disconnect();
00058
00059 struct Private;
00060
00061 protected:
00062
00063 Server(const Server &s)
00064 {}
00065
00066 virtual void on_new_connection(Connection &c) = 0;
00067
00068 private:
00069
00070 RefPtrI<Private> _pvt;
00071 };
00072
00073 }
00074
00075 #endif//__DBUSXX_SERVER_H