00001 #ifndef _DHT_KADC_STATE_DISCONNECTING_H_
00002 #define _DHT_KADC_STATE_DISCONNECTING_H_
00003
00004 #include "state.h"
00005 #include "observer_message.h"
00006
00007 namespace dht {
00008 namespace kadc {
00009 class state_disconnecting : public state,
00010 public observer_message {
00011 static state_disconnecting *_instance;
00012 public:
00013 static state_disconnecting *instance();
00014
00015 virtual void connect(client *d, notify_handler *n);
00016 virtual void disconnect(client *d, notify_handler *n);
00017
00018
00019 virtual int received_message(client *d, message *m,
00020 const observer_info &oi);
00021 protected:
00022 state_disconnecting() : state("disconnecting") {}
00023
00024 public:
00025 void prepare_disconnecting(client *d, notify_handler *n,
00026 bool no_observer = false);
00027
00028 };
00029 }
00030 }
00031
00032 #endif