#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 getNamesForNodesWithNamePrefix(const std::string& prefix) const; virtual std::vector getIdsOfNeighbours(const Id id) const; virtual std::vector> getNeighbourEdgesOfNode(const Id id) const; virtual std::vector> getMemberEdgesOfNode(const Id id) const; virtual std::vector> getUsageEdgesOfNode(const Id id) const; virtual std::vector> getCallEdgesOfNode(const Id id) const; virtual std::vector> getTypeOfEdgesOfNode(const Id id) const; virtual std::vector> getReturnTypeOfEdgesOfNode(const Id id) const; virtual std::vector> getParameterOfEdgesOfNode(const Id id) const; private: GraphAccess* m_subject; }; #endif // GRAPH_ACCESS_PROXY_H