From d907be264b00362543a47cc389f11e6253de2218 Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Wed, 18 Sep 2013 18:32:50 +0200 Subject: [PATCH] make plugins templates that plug into data facade --- Plugins/LocatePlugin.h | 5 ++++- Plugins/NearestPlugin.h | 9 ++++++--- Plugins/TimestampPlugin.h | 6 ++++-- Plugins/ViaRoutePlugin.h | 5 +++-- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Plugins/LocatePlugin.h b/Plugins/LocatePlugin.h index 22a5ac3c5..ac559451f 100644 --- a/Plugins/LocatePlugin.h +++ b/Plugins/LocatePlugin.h @@ -29,9 +29,12 @@ or see http://www.gnu.org/licenses/agpl.txt. /* * This Plugin locates the nearest node in the road network for a given coordinate. */ +//TODO: Rework data access to go through facade + +template class LocatePlugin : public BasePlugin { public: - LocatePlugin(QueryObjectsStorage * objects) : descriptor_string("locate") { + LocatePlugin(DataFacadeT * objects) : descriptor_string("locate") { nodeHelpDesk = objects->nodeHelpDesk; } const std::string & GetDescriptor() const { return descriptor_string; } diff --git a/Plugins/NearestPlugin.h b/Plugins/NearestPlugin.h index 1f011bd4b..d662b79c7 100644 --- a/Plugins/NearestPlugin.h +++ b/Plugins/NearestPlugin.h @@ -24,15 +24,18 @@ or see http://www.gnu.org/licenses/agpl.txt. #include "BasePlugin.h" #include "../DataStructures/NodeInformationHelpDesk.h" -#include "../Server/DataStructures/QueryObjectsStorage.h" #include "../Util/StringUtil.h" /* * This Plugin locates the nearest point on a street in the road network for a given coordinate. */ + +//TODO: Rework data access to go through facade + +template class NearestPlugin : public BasePlugin { public: - NearestPlugin(QueryObjectsStorage * objects ) + NearestPlugin(DataFacadeT * objects ) : m_query_objects(objects), descriptor_string("nearest") @@ -114,7 +117,7 @@ public: } private: - QueryObjectsStorage * m_query_objects; + DataFacadeT * m_query_objects; HashTable descriptorTable; std::string descriptor_string; }; diff --git a/Plugins/TimestampPlugin.h b/Plugins/TimestampPlugin.h index ba0510c3e..38514e957 100644 --- a/Plugins/TimestampPlugin.h +++ b/Plugins/TimestampPlugin.h @@ -22,10 +22,12 @@ or see http://www.gnu.org/licenses/agpl.txt. #define TIMESTAMPPLUGIN_H_ #include "BasePlugin.h" +//TODO: Rework data access to go through facade +template class TimestampPlugin : public BasePlugin { public: - TimestampPlugin(QueryObjectsStorage * o) + TimestampPlugin(DataFacadeT * o) : objects(o), descriptor_string("timestamp") { } const std::string & GetDescriptor() const { return descriptor_string; } @@ -66,7 +68,7 @@ public: reply.headers[0].value = tmp; } private: - QueryObjectsStorage * objects; + DataFacadeT * objects; std::string descriptor_string; }; diff --git a/Plugins/ViaRoutePlugin.h b/Plugins/ViaRoutePlugin.h index 5233104b6..6b5f11d15 100644 --- a/Plugins/ViaRoutePlugin.h +++ b/Plugins/ViaRoutePlugin.h @@ -30,7 +30,6 @@ or see http://www.gnu.org/licenses/agpl.txt. #include "../Descriptors/BaseDescriptor.h" #include "../Descriptors/GPXDescriptor.h" #include "../Descriptors/JSONDescriptor.h" -#include "../Server/DataStructures/QueryObjectsStorage.h" #include "../Util/SimpleLogger.h" #include "../Util/StringUtil.h" @@ -41,6 +40,8 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include +//TODO: Rework data access to go through facade +template class ViaRoutePlugin : public BasePlugin { private: NodeInformationHelpDesk * nodeHelpDesk; @@ -49,7 +50,7 @@ private: SearchEngine * searchEnginePtr; public: - ViaRoutePlugin(QueryObjectsStorage * objects) + ViaRoutePlugin(DataFacadeT * objects) : // objects(objects), descriptor_string("viaroute")