libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
serviceinfo.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3 ** Copyright (C) 2012 Aldebaran Robotics
4 ** See COPYING for the license
5 */
6 
7 #ifndef _QIMESSAGING_SERVICEINFO_HPP_
8 #define _QIMESSAGING_SERVICEINFO_HPP_
9 
10 #include <string>
11 #include <vector>
12 
13 #include <qi/api.hpp>
14 #include <qi/url.hpp>
16 
17 namespace qi
18 {
19  class ServiceInfoPrivate;
21  public:
22  ServiceInfo();
23  ServiceInfo(const ServiceInfo& svcinfo);
24 
25  ~ServiceInfo();
26 
27  ServiceInfo& operator= (const ServiceInfo& svcinfo);
28 
29  void setName(const std::string& name);
30  void setServiceId(unsigned int serviceId);
31  void setMachineId(const std::string& machineId);
32  void setProcessId(unsigned int processId);
33  void setEndpoints(const qi::UrlVector& endpoints);
34  void addEndpoint(const qi::Url& endpoint);
35  void setSessionId(const std::string& sessionId);
36 
37  const std::string& name() const;
38  unsigned int serviceId() const;
39  const std::string& machineId() const;
40  unsigned int processId() const;
41  const qi::UrlVector& endpoints() const;
42  const std::string& sessionId() const;
43 
44  ServiceInfoPrivate* _p;
45 
46  protected:
47  friend class TypeImpl<ServiceInfo>;
48  };
49 
50  using ServiceInfoVector = std::vector<qi::ServiceInfo>;
51 } // !qi
52 
53 #endif // _QIMESSAGING_SERVICEINFO_HPP_
#define QI_API
Definition: api.hpp:33
std::vector< qi::ServiceInfo > ServiceInfoVector
Definition: serviceinfo.hpp:50
dll import/export and compiler message
std::vector< Url > UrlVector
Definition: url.hpp:155
ServiceInfoPrivate * _p
Definition: serviceinfo.hpp:44
Definition: url.hpp:35