libqi-api  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
metasignal.hpp
Go to the documentation of this file.
1 #pragma once
2 /*
3 ** Copyright (C) 2013 Aldebaran Robotics
4 ** See COPYING for the license
5 */
6 
7 #ifndef _QI_TYPE_METASIGNAL_HPP_
8 #define _QI_TYPE_METASIGNAL_HPP_
9 
11 
12 #ifdef _MSC_VER
13 # pragma warning( push )
14 # pragma warning( disable: 4251 )
15 #endif
16 
17 namespace qi {
18 
21  public:
22  MetaSignal(unsigned int uid, const std::string &name, const qi::Signature &sig);
23  MetaSignal();
24  ~MetaSignal();
25 
26  const std::string &name() const;
27  std::string toString() const; // name::(sig)
28  const Signature &parametersSignature() const;
29  unsigned int uid() const;
30 
33  bool isPrivate() const;
34 
35  private:
36  unsigned int _uid;
37  // C4251
38  std::string _name;
39  qi::Signature _signature;
41  };
42 
43 }; // namespace qi
44 
46  ("uid",_uid),
47  ("name",_name),
48  ("signature", _signature));
49 
50 #ifdef _MSC_VER
51 # pragma warning( pop )
52 #endif
53 
54 #endif // _QITYPE_METASIGNAL_HPP_
#define QI_API
Definition: api.hpp:33
Representation of a Signal in an GenericObject.
Definition: metasignal.hpp:20
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaSignal,("uid", _uid),("name", _name),("signature", _signature))
#define QI_TYPE_STRUCT_PRIVATE_ACCESS(name)
Allow the QI_TYPE_STRUCT macro and variants to access private members.