Further clean up of DMR Access Control.

This commit is contained in:
Jonathan Naylor
2016-10-13 17:46:02 +01:00
parent 989bd8a1fd
commit 3c7bdd6e12
4 changed files with 88 additions and 97 deletions

View File

@@ -17,15 +17,17 @@
#include <vector>
#include <ctime>
#include "DMRLC.h"
class DMRAccessControl {
public:
static bool validateAccess (unsigned int src_id, unsigned int dst_id, unsigned int slot, bool network);
static bool validateAccess(unsigned int srcId, unsigned int dstId, unsigned int slot, bool network);
static void init(const std::vector<unsigned int>& DstIdBlacklistSlot1RF, const std::vector<unsigned int>& DstIdWhitelistSlot1RF, const std::vector<unsigned int>& DstIdBlacklistSlot2RF, const std::vector<unsigned int>& DstIdWhitelistSlot2RF, const std::vector<unsigned int>& DstIdBlacklistSlot1NET, const std::vector<unsigned int>& DstIdWhitelistSlot1NET, const std::vector<unsigned int>& DstIdBlacklistSlot2NET, const std::vector<unsigned int>& DstIdWhitelistSlot2NET, const std::vector<unsigned int>& SrcIdBlacklist, bool selfOnly, const std::vector<unsigned int>& prefixes,unsigned int id,unsigned int callHang, bool TGRewrteSlot1, bool TGRewrteSlot2, bool m_BMAutoRewrite, bool m_BMRewriteReflectorVoicePrompts);
static void init(const std::vector<unsigned int>& dstIdBlacklistSlot1RF, const std::vector<unsigned int>& dstIdWhitelistSlot1RF, const std::vector<unsigned int>& dstIdBlacklistSlot2RF, const std::vector<unsigned int>& dstIdWhitelistSlot2RF, const std::vector<unsigned int>& dstIdBlacklistSlot1NET, const std::vector<unsigned int>& dstIdWhitelistSlot1NET, const std::vector<unsigned int>& dstIdBlacklistSlot2NET, const std::vector<unsigned int>& dstIdWhitelistSlot2NET, const std::vector<unsigned int>& srcIdBlacklist, bool selfOnly, const std::vector<unsigned int>& prefixes,unsigned int id,unsigned int callHang, bool tgRewrteSlot1, bool tgRewrteSlot2, bool m_bmAutoRewrite, bool m_bmRewriteReflectorVoicePrompts);
static unsigned int DstIdRewrite(unsigned int id, unsigned int sid,unsigned int slot, bool network, CDMRLC* dmrLC);
static unsigned int dstIdRewrite(unsigned int id, unsigned int sid, unsigned int slot, bool network, CDMRLC* dmrLC);
static void setOverEndTime();
private:
@@ -39,7 +41,7 @@ private:
static std::vector<unsigned int> m_dstWhiteListSlot1NET;
static std::vector<unsigned int> m_dstWhiteListSlot2NET;
static std::vector<unsigned int> m_SrcIdBlacklist;
static std::vector<unsigned int> m_srcIdBlacklist;
static std::vector<unsigned int> m_prefixes;
@@ -48,26 +50,22 @@ private:
static bool m_selfOnly;
static unsigned int m_id;
static bool DstIdBlacklist(unsigned int did,unsigned int slot, bool network);
static bool DstIdWhitelist(unsigned int did,unsigned int slot,bool gt4k, bool network);
static bool dstIdBlacklist(unsigned int did, unsigned int slot, bool network);
static bool dstIdWhitelist(unsigned int did, unsigned int slot, bool gt4k, bool network);
static bool validateSrcId(unsigned int id);
static std::time_t m_time;
static time_t m_time;
static unsigned int m_dstRewriteID;
static unsigned int m_SrcID;
static bool m_TGRewriteSlot1;
static bool m_TGRewriteSlot2;
static bool m_BMAutoRewrite;
static bool m_BMRewriteReflectorVoicePrompts;
static unsigned int m_srcID;
static bool m_tgRewriteSlot1;
static bool m_tgRewriteSlot2;
static bool m_bmAutoRewrite;
static bool m_bmRewriteReflectorVoicePrompts;
static CDMRLC* m_lastdmrLC;
};
#endif