YARP
Yet Another Robot Platform
NameStore.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_OS_NAMESTORE_H
11 #define YARP_OS_NAMESTORE_H
12 
13 #include <yarp/os/Bottle.h>
14 #include <yarp/os/Contact.h>
15 
16 namespace yarp {
17 namespace os {
18 
23 {
24 public:
25  virtual ~NameStore();
26  virtual Contact query(const std::string& name) = 0;
27  virtual bool announce(const std::string& name, int activity) = 0;
28  virtual bool process(PortWriter& in,
29  PortReader& out,
30  const Contact& source) = 0;
31 };
32 
33 } // namespace os
34 } // namespace yarp
35 
36 #endif // YARP_OS_NAMESTORE_H
Represents how to reach a part of a YARP network.
Definition: Contact.h:39
Abstract interface for a database of port names.
Definition: NameStore.h:23
virtual bool announce(const std::string &name, int activity)=0
virtual bool process(PortWriter &in, PortReader &out, const Contact &source)=0
virtual Contact query(const std::string &name)=0
Interface implemented by all objects that can read themselves from the network, such as Bottle object...
Definition: PortReader.h:28
Interface implemented by all objects that can write themselves to the network, such as Bottle objects...
Definition: PortWriter.h:27
The main, catch-all namespace for YARP.
Definition: environment.h:18
#define YARP_os_API
Definition: api.h:19