Orocos Real-Time Toolkit
2.8.3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
types
TypekitPlugin.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
Copyright (c) 2009 S Roderick <xxxkiwi DOT xxxnet AT macxxx DOT comxxx>
3
(remove the x's above)
4
5
***************************************************************************
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU General Public *
8
* License as published by the Free Software Foundation; *
9
* version 2 of the License. *
10
* *
11
* As a special exception, you may use this file as part of a free *
12
* software library without restriction. Specifically, if other files *
13
* instantiate templates or use macros or inline functions from this *
14
* file, or you compile this file and link it with other files to *
15
* produce an executable, this file does not by itself cause the *
16
* resulting executable to be covered by the GNU General Public *
17
* License. This exception does not however invalidate any other *
18
* reasons why the executable file might be covered by the GNU General *
19
* Public License. *
20
* *
21
* This library is distributed in the hope that it will be useful, *
22
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
23
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
24
* Lesser General Public License for more details. *
25
* *
26
* You should have received a copy of the GNU General Public *
27
* License along with this library; if not, write to the Free Software *
28
* Foundation, Inc., 59 Temple Place, *
29
* Suite 330, Boston, MA 02111-1307 USA *
30
* *
31
***************************************************************************/
32
33
34
#ifndef ORO_TYPEKITPLUGIN_HPP
35
#define ORO_TYPEKITPLUGIN_HPP 1
36
37
#include <string>
38
#include <vector>
39
#include "../rtt-config.h"
40
41
namespace
RTT
42
{
namespace
types {
43
44
51
class
RTT_API
TypekitPlugin
52
{
53
public
:
54
virtual
~TypekitPlugin
() {}
55
67
virtual
bool
loadTypes() = 0;
68
79
virtual
bool
loadOperators() = 0;
80
92
virtual
bool
loadConstructors() = 0;
93
99
virtual
bool
loadGlobals
() {
return
true
; }
100
106
virtual
std::string getName() = 0;
107
};
108
109
}}
110
111
#include "
TypekitRepository.hpp
"
112
113
// Disable foo() has C-linkage specified, but returns UDT 'bar' which is incompatible with C
114
#ifdef _MSC_VER
115
#pragma warning (disable:4190)
116
#endif
117
127
#define ORO_TYPEKIT_PLUGIN( TYPEKIT ) \
128
namespace RTT { class TaskContext; } \
129
extern "C" { \
130
RTT_EXPORT bool loadRTTPlugin(RTT::TaskContext* tc); \
131
bool loadRTTPlugin(RTT::TaskContext* tc) { \
132
if (tc == 0) { \
133
RTT::types::TypekitRepository::Import( new TYPEKIT() ); \
134
return true; \
135
} \
136
return false; \
137
} \
138
RTT_EXPORT std::string getRTTPluginName(); \
139
std::string getRTTPluginName() { \
140
TYPEKIT tk; \
141
return tk.getName(); \
142
} \
143
RTT_EXPORT std::string getRTTTargetName(); \
144
std::string getRTTTargetName() { \
145
return OROCOS_TARGET_NAME; \
146
} \
147
}
148
149
#endif
TypekitRepository.hpp
RTT::types::TypekitPlugin::loadGlobals
virtual bool loadGlobals()
Implement this function to add global variables to the type system.
Definition:
TypekitPlugin.hpp:99
RTT::types::TypekitPlugin
This interface defines how additional typekits are loaded into Orocos.
Definition:
TypekitPlugin.hpp:51
RTT_API
#define RTT_API
Definition:
rtt-config.h:97
RTT::types::TypekitPlugin::~TypekitPlugin
virtual ~TypekitPlugin()
Definition:
TypekitPlugin.hpp:54
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:51
Generated on Fri Apr 5 2019 12:14:56 for Orocos Real-Time Toolkit by
1.8.11