#include "ProxyPlugin.h" #include "Common.h" #include "Logger.h" #include "AccessManager.h" #include "Sms.h" #include "ISmsTransceiver.h" void ProxyPlugin::Execute(ISmsTransceiver& modem, SMS& sms) { std::string sender = sms.GetSender(); if (AccessManager::IsBlacklisted(sender)) { Logger::logMessage( "ProxyPlugin, blocked " + sender ); return; } std::string key = _plugin->GetCommand(); if (AccessManager::IsPrivPlugin(key)) { if ( !(AccessManager::IsPrivileged(sender)) ) { modem.SendSms(sender, "You are not allowed to access this command", false); Logger::logMessage("Unprivileged access attempt to " + key + " from " + sender); return; } } _plugin->Execute(modem, sms); }