/** * @RDE_HEADER@ * Solely purpose is to form strings to fit the Axis API Syntax * $Id$ * $HeadURL$ * $Author$ * Created by Terrell Scharfenberg, SLSE, 2016-05-27 */ #include "request.h" using namespace VapixConfig; QString Request::updateImageParams(const QMap &imageMap, const QString &ipAddress) { QString updateString = QLatin1String("http://") + ipAddress + QLatin1String("/axis-cgi/admin/param.cgi?action=update&group=Image.I0.Appearance"); for (auto iterator = imageMap.begin(); iterator != imageMap.end(); ++iterator) updateString.append(QLatin1Char('.') + iterator.key() + QLatin1Char('=') + iterator.value()); return updateString; } QString Request::addEventServer(const QMap &serverMap, const QString &ipAddress) { QString updateString = QLatin1String("http://") + ipAddress + QLatin1String("/axis-cgi/admin/param.cgi?action=add&group=EventServers.TCP&template=tcp_config"); for (auto iterator = serverMap.begin(); iterator != serverMap.end(); ++iterator) updateString.append(QLatin1String("&EventServers.TCP.T.") + iterator.key() + QLatin1Char('=') + iterator.value()); return updateString; } QString Request::addEvent(const QMap &eventMap, const QString &ipAddress) { QString updateString = QLatin1String("http://") + ipAddress + QLatin1String("/axis-cgi/admin/param.cgi?action=add&group=Event&template=event"); for (auto iterator = eventMap.begin(); iterator != eventMap.end(); ++iterator) updateString.append(QLatin1String("&Event.E.") + iterator.key() + QLatin1Char('=') + iterator.value()); return updateString; } QString Request::addActionToEvent(const QMap &actionMap, int eventID, const QString &ipAddress) { QString updateString = QLatin1String("http://") + ipAddress + QLatin1String("/axis-cgi/admin/param.cgi?action=add&group=Event.E") + QString::number(eventID) + QLatin1String(".Actions&template=tcpaction"); for (auto iterator = actionMap.begin(); iterator != actionMap.end(); ++iterator) updateString.append(QLatin1String("&Event.E") + QString::number(eventID) + QLatin1String(".Actions.A.") + iterator.key() + QLatin1Char('=') + iterator.value()); return updateString; } QString Request::addMotionWindow(const QMap &windowMap, const QString &ipAddress) { QString updateString = QLatin1String("http://") + ipAddress + QLatin1String("/axis-cgi/admin/param.cgi?action=add&group=Motion&template=motion"); for (auto iterator = windowMap.begin(); iterator != windowMap.end(); ++iterator) updateString.append(QLatin1String("&Motion.M.") + iterator.key() + QLatin1Char('=') + iterator.value()); return updateString; }