YARP
Yet Another Robot Platform
NameServerContainer.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2020 Istituto Italiano di Tecnologia (IIT)
3  * Copyright (C) 2006-2010 RobotCub Consortium
4  * All rights reserved.
5  *
6  * This software may be modified and distributed under the terms of the
7  * BSD-3-Clause license. See the accompanying LICENSE file for details.
8  */
9 
10 #ifndef YARP_SERVERSQL_IMPL_NAMESERVERCONTAINER_H
11 #define YARP_SERVERSQL_IMPL_NAMESERVERCONTAINER_H
12 
13 #include <yarp/os/Contact.h>
14 #include <yarp/os/NameSpace.h>
15 #include <yarp/os/Searchable.h>
16 
23 
24 namespace yarp {
25 namespace serversql {
26 namespace impl {
27 
29 {
30 private:
31  yarp::os::Contact contact;
33  SubscriberOnSql subscriber;
34  AllocatorConfig config;
35  AllocatorOnTriples alloc;
37  StyleNameService style;
38  ComposedNameService combo1;
39  yarp::os::NameSpace *space{nullptr};
40 public:
42 
43  ~NameServerContainer() override;
44 
45  const yarp::os::Contact& where();
47  void preregister(const yarp::os::Contact& c);
48  bool open(yarp::os::Searchable& options);
49 };
50 
51 } // namespace impl
52 } // namespace serversql
53 } // namespace yarp
54 
55 
56 #endif // YARP_SERVERSQL_IMPL_NAMESERVERCONTAINER_H
Represents how to reach a part of a YARP network.
Definition: Contact.h:39
An abstract name space for ports.
Definition: NameSpace.h:26
A base class for nested structures that can be searched.
Definition: Searchable.h:69
Upper and lower bounds on port numbers etc for allocation.
Definition: Allocator.h:24
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: environment.h:18