YARP
Yet Another Robot Platform
TripleSource.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3 * SPDX-FileCopyrightText: 2006-2010 RobotCub Consortium
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef YARP_SERVERSQL_IMPL_TRIPLESOURCE_H
8#define YARP_SERVERSQL_IMPL_TRIPLESOURCE_H
9
11
12#include <string>
13#include <list>
14
15
16namespace yarp::serversql::impl {
17
22{
23public:
24 int rid {-1};
25
26 TripleContext() = default;
27
28 void setRid(int rid) {
29 this->rid = rid;
30 }
31};
32
39{
40public:
42 {
43 reset();
44 }
45
46 virtual ~TripleSource() = default;
47
48 virtual void reset()
49 {
50 }
51
52 virtual int find(Triple& t, TripleContext *context) = 0;
53
54 virtual void prune(TripleContext *context) = 0;
55
56 virtual std::list<Triple> query(Triple& ti,
57 TripleContext *context) = 0;
58
59 virtual void remove_query(Triple& ti,
60 TripleContext *context) = 0;
61
62 virtual void insert(Triple& t, TripleContext *context) = 0;
63
64 virtual void update(Triple& t, TripleContext *context) = 0;
65
66 virtual void begin(TripleContext *context) = 0;
67 virtual void end(TripleContext *context) = 0;
68};
69
70} // namespace yarp::serversql::impl
71
72
73#endif // YARP_SERVERSQL_IMPL_TRIPLESOURCE_H
float t
Side information for controlling access to triples.
Definition: TripleSource.h:22
Abstract view of a database as a collection of triples.
Definition: TripleSource.h:39
virtual std::list< Triple > query(Triple &ti, TripleContext *context)=0
virtual void prune(TripleContext *context)=0
virtual void end(TripleContext *context)=0
virtual int find(Triple &t, TripleContext *context)=0
virtual void begin(TripleContext *context)=0
virtual void update(Triple &t, TripleContext *context)=0
virtual void remove_query(Triple &ti, TripleContext *context)=0
virtual void insert(Triple &t, TripleContext *context)=0
The basic unit of data the name server works with.
Definition: Triple.h:23