#ifndef GRAPH_ACCESS_PROXY_H #define GRAPH_ACCESS_PROXY_H #include "data/access/GraphAccess.h" class GraphAccessProxy: public GraphAccess { public: GraphAccessProxy(); virtual ~GraphAccessProxy(); bool hasSubject() const; void setSubject(GraphAccess* subject); // GraphAccess implementation virtual Id getIdForNodeWithName(const std::string& name) const; virtual std::string getNameForNodeWithId(Id id) const; virtual std::vector getAutocompletionMatches(const std::string& query) const; virtual std::shared_ptr getGraphForActiveTokenIds(const std::vector& tokenIds) const; virtual std::vector getActiveTokenIdsForId(Id tokenId, Id& declarationId) const; virtual std::vector getLocationIdsForTokenIds(const std::vector& tokenIds) const; virtual std::vector getTokenIdsForQuery(std::string query) const; private: GraphAccess* m_subject; }; #endif // GRAPH_ACCESS_PROXY_H