Robot Raconteur Core C++ Library
Discovery.h
Go to the documentation of this file.
1 
25 
26 #pragma once
27 
28 namespace RobotRaconteurServiceIndex
29 {
30 class ROBOTRACONTEUR_CORE_API ServiceInfo;
31 
32 class ROBOTRACONTEUR_CORE_API NodeInfo;
33 } // namespace RobotRaconteurServiceIndex
34 
35 namespace RobotRaconteur
36 {
37 
48 class ROBOTRACONTEUR_CORE_API ServiceInfo2
49 {
50  public:
56 
58  std::string Name;
60  std::string RootObjectType;
62  std::vector<std::string> RootObjectImplements;
64  std::vector<std::string> ConnectionURL;
66  std::map<std::string, RR_INTRUSIVE_PTR<RRValue> > Attributes;
70  std::string NodeName;
71 
76  ServiceInfo2(const RobotRaconteurServiceIndex::ServiceInfo& info,
77  const RobotRaconteurServiceIndex::NodeInfo& ninfo);
78 };
79 
91 class ROBOTRACONTEUR_CORE_API NodeInfo2
92 {
93  public:
97  std::string NodeName;
105  std::vector<std::string> ConnectionURL;
106 };
107 
109 class ROBOTRACONTEUR_CORE_API NodeDiscoveryInfoURL
110 {
111  public:
113  std::string URL;
120  boost::posix_time::ptime LastAnnounceTime;
121 };
122 
136 class ROBOTRACONTEUR_CORE_API NodeDiscoveryInfo
137 {
138  public:
142  std::string NodeName;
144  std::vector<NodeDiscoveryInfoURL> URLs;
153  std::string ServiceStateNonce;
154 };
155 } // namespace RobotRaconteur
Raw information used to announce and detect nodes.
Definition: Discovery.h:137
std::vector< NodeDiscoveryInfoURL > URLs
Candidate URLs to connect to the node.
Definition: Discovery.h:144
std::string ServiceStateNonce
The current nonce for the node's services.
Definition: Discovery.h:153
std::string NodeName
The detected NodeName.
Definition: Discovery.h:142
RobotRaconteur::NodeID NodeID
The detected NodeID.
Definition: Discovery.h:140
A candidate node connection URL and its timestamp.
Definition: Discovery.h:110
std::string URL
Candidate node connection URL.
Definition: Discovery.h:113
boost::posix_time::ptime LastAnnounceTime
Last time that this URL announce was received.
Definition: Discovery.h:120
NodeID UUID storage and generation.
Definition: NodeID.h:58
Contains information about a node detected using discovery.
Definition: Discovery.h:92
RobotRaconteur::NodeID NodeID
The NodeID of the detected node.
Definition: Discovery.h:95
std::string NodeName
The NodeName of the detected node.
Definition: Discovery.h:97
std::vector< std::string > ConnectionURL
Candidate URLs to connect to the node.
Definition: Discovery.h:105
Contains information about a service found using discovery.
Definition: Discovery.h:49
std::vector< std::string > ConnectionURL
Candidate URLs to connect to the service.
Definition: Discovery.h:64
std::string Name
The name of the service.
Definition: Discovery.h:58
std::string NodeName
The NodeName of the node that owns the service.
Definition: Discovery.h:70
std::string RootObjectType
The fully qualified type of the root object in the service.
Definition: Discovery.h:60
std::map< std::string, boost::intrusive_ptr< RRValue > > Attributes
Service attributes.
Definition: Discovery.h:66
RobotRaconteur::NodeID NodeID
The NodeID of the node that owns the service.
Definition: Discovery.h:68
std::vector< std::string > RootObjectImplements
The fully qualified types the root object implements.
Definition: Discovery.h:62
ServiceInfo2(const RobotRaconteurServiceIndex::ServiceInfo &info, const RobotRaconteurServiceIndex::NodeInfo &ninfo)
Construct a ServiceInfo2 from ServiceInfo and NodeInfo structures.
ServiceInfo2()
Construct an empty ServiceInfo2.