- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

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
10 #include <qi/type/typeinterface.hpp>
11
12 #ifdef _MSC_VER
13 # pragma warning( push )
14 # pragma warning( disable: 4251 )
15 #endif
16
17 namespace qi {
18
20 class QI_API MetaSignal {
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;
40 QI_TYPE_STRUCT_PRIVATE_ACCESS(MetaSignal);
41 };
42
43 }; // namespace qi
44
45 QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaSignal,
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_
QI_API
#define QI_API
Definition: api.hpp:33
qi::Signature
Definition: signature.hpp:66
qi::MetaSignal
Representation of a Signal in an GenericObject.
Definition: metasignal.hpp:20
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR
QI_TYPE_STRUCT_AGREGATE_CONSTRUCTOR(qi::MetaSignal,("uid", _uid),("name", _name),("signature", _signature))
qi::log::env::QI_DEFAULT_LOGHANDLER::name
char const *const name
typeinterface.hpp
QI_TYPE_STRUCT_PRIVATE_ACCESS
#define QI_TYPE_STRUCT_PRIVATE_ACCESS(name)
Allow the QI_TYPE_STRUCT macro and variants to access private members.
Definition: structtypeinterface.hxx:384