YARP
Yet Another Robot Platform
NameServerContainer.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_NAMESERVERCONTAINER_H
8 #define YARP_SERVERSQL_IMPL_NAMESERVERCONTAINER_H
9 
10 #include <yarp/os/Contact.h>
11 #include <yarp/os/NameSpace.h>
12 #include <yarp/os/Searchable.h>
13 
20 
21 namespace yarp {
22 namespace serversql {
23 namespace impl {
24 
26 {
27 private:
28  yarp::os::Contact contact;
30  SubscriberOnSql subscriber;
31  AllocatorConfig config;
32  AllocatorOnTriples alloc;
34  StyleNameService style;
35  ComposedNameService combo1;
36  yarp::os::NameSpace *space{nullptr};
37 public:
39 
40  ~NameServerContainer() override;
41 
42  const yarp::os::Contact& where();
44  void preregister(const yarp::os::Contact& c);
45  bool open(yarp::os::Searchable& options);
46 };
47 
48 } // namespace impl
49 } // namespace serversql
50 } // namespace yarp
51 
52 
53 #endif // YARP_SERVERSQL_IMPL_NAMESERVERCONTAINER_H
Represents how to reach a part of a YARP network.
Definition: Contact.h:36
An abstract name space for ports.
Definition: NameSpace.h:23
A base class for nested structures that can be searched.
Definition: Searchable.h:66
Upper and lower bounds on port numbers etc for allocation.
Definition: Allocator.h:21
Allocates network resources, and tracks them using a TripleSource.
Compose two name services into one.
void open(NameService &ns1, NameService &ns2)
void open(NameService &ns1, NameService &ns2)
void preregister(const yarp::os::Contact &c)
An implementation of name service operators on a triple store.
Interface for maintaining persistent connections using SQL.
Open and close a database, viewed as a collection of triples.
The main, catch-all namespace for YARP.
Definition: dirs.h:16