123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #ifndef adminList_H_
- #define adminList_H_
- #include "unicode/uniFile.h"
- // class that manages lists of reserved IPs
- // these are remote addresses that must always be allowed in no matter what.
- class adminList
- {
- private:
- class impl;
- impl *m_impl;
- public:
- struct admin_t
- {
- uniString::utf8 m_numericIP;
- uniString::utf8 m_hostIP; // used to hold the converted IP from a hostname
- explicit admin_t(const uniString::utf8 &numericIP) throw() : m_numericIP(numericIP) {}
- admin_t() throw() {}
- };
- // throws if parameters are invalid
- bool add(const uniString::utf8 &ipAddr, const bool soft) throw(std::exception);
- // true if removed
- bool remove(const uniString::utf8 &ipAddr, const bool allStream) throw();
- // 1 if found, 0 if not, -1 if empty (assume allowed)
- int find(const uniString::utf8 &ipAddr) throw();
- bool load(const uniFile::filenameType &fn) throw();
- adminList();
- ~adminList() throw();
- };
- extern adminList g_adminList;
- #endif
|