X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/c771a55e40d2a41d607a0da1b67cd1f7d546ccc8..7d8d4e8c0966dc85a94e5993a51402c0ca65df20:/hostdata.h?ds=sidebyside diff --git a/hostdata.h b/hostdata.h index 82e133f..722b2bc 100644 --- a/hostdata.h +++ b/hostdata.h @@ -2,28 +2,34 @@ #define HOSTDATA_H #include +#include #include +// Helper class that associates instances of itself with each host. +// Facilitate global operations on hosts, and retreiving of host name +// and mailboxes. class hostdata { public: static void create(); static void destroy(); + static size_t size() { return hosts.size(); } + static const hostdata& at(size_t i) { return hosts[i]; } hostdata(m_host_t host); ~hostdata(); - const char* get_name() const { return name; } + const char* get_name() const { return name; } const char* get_ctrl_mbox() const { return ctrl_mbox.c_str(); } const char* get_data_mbox() const { return data_mbox.c_str(); } private: - // linked list of hostdata's, used by create/destroy - static hostdata* instances; - hostdata* next; + // static list of hostdata's, used by create/destroy + static std::vector hosts; const char* name; std::string ctrl_mbox; std::string data_mbox; + }; #endif // !HOSTDATA_H