#ifndef _CSERVER_H_ #define _CSERVER_H_ #include typedef int SERVER_ID; class CServer { public : enum SQL_STATE {MySQL, OLD}; CServer (); CServer (char *); // add own IP ~CServer (); void AddServer (char *); int RemoveServer (SERVER_ID); SERVER_ID GetCurrentServer (); SERVER_ID GetNextServer (SERVER_ID); void ServerFailure (SERVER_ID); char *GetServerIPFromID (SERVER_ID); int GetNumServers (); SQL_STATE IsSQL (SERVER_ID); void SetSQL (SERVER_ID, SQL_STATE); private : int _num_servers; int _current_good_server; std::vector _state; std::vector _failures; std::vector _ip_addr; std::vector _servers_to_use; }; #endif