00001 #ifndef ERIS_POLL_DEFAULT_H
00002 #define ERIS_POLL_DEFAULT_H
00003
00004 #include <map>
00005
00006 #include <Eris/Poll.h>
00007
00008 namespace Eris {
00009
00010 class PollDefault : public Poll, virtual public SigC::Object
00011 {
00012 public:
00013 PollDefault() {}
00014
00015 virtual ~PollDefault() {}
00016
00017 virtual void addStream(const basic_socket_stream*, Check);
00018 virtual void changeStream(const basic_socket_stream*, Check);
00019 virtual void removeStream(const basic_socket_stream*);
00020
00021 static void poll(unsigned long timeout = 0);
00022
00023 typedef std::map<const basic_socket_stream*,Check> MapType;
00024 private:
00025 MapType _streams;
00026 typedef MapType::iterator _iter;
00027
00028 void doPoll(unsigned long timeout);
00029
00030
00031 };
00032
00033 }
00034
00035 #endif // ERIS_POLL_DEFAULT_H