Orocos Real-Time Toolkit
2.8.3
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
scripting
PeerParser.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Tue Dec 21 22:43:08 CET 2004 PeerParser.hpp
3
4
PeerParser.hpp - description
5
-------------------
6
begin : Tue December 21 2004
7
copyright : (C) 2004 Peter Soetens
8
email : peter.soetens@mech.kuleuven.ac.be
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU General Public *
13
* License as published by the Free Software Foundation; *
14
* version 2 of the License. *
15
* *
16
* As a special exception, you may use this file as part of a free *
17
* software library without restriction. Specifically, if other files *
18
* instantiate templates or use macros or inline functions from this *
19
* file, or you compile this file and link it with other files to *
20
* produce an executable, this file does not by itself cause the *
21
* resulting executable to be covered by the GNU General Public *
22
* License. This exception does not however invalidate any other *
23
* reasons why the executable file might be covered by the GNU General *
24
* Public License. *
25
* *
26
* This library is distributed in the hope that it will be useful, *
27
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
28
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29
* Lesser General Public License for more details. *
30
* *
31
* You should have received a copy of the GNU General Public *
32
* License along with this library; if not, write to the Free Software *
33
* Foundation, Inc., 59 Temple Place, *
34
* Suite 330, Boston, MA 02111-1307 USA *
35
* *
36
***************************************************************************/
37
38
39
40
#ifndef ORO_PEERPARSER_HPP
41
#define ORO_PEERPARSER_HPP
42
43
#include "
parser-types.hpp
"
44
#include "
CommonParser.hpp
"
45
#include <queue>
46
#include <string>
47
#include "
rtt-scripting-config.h
"
48
#include "../rtt-fwd.hpp"
49
50
namespace
RTT
51
{
52
53
namespace
scripting {
58
class
RTT_SCRIPTING_API
PeerParser
59
{
60
CommonParser
& commonparser;
61
rule_t
peerpath, peerlocator;
62
std::queue<std::string> callqueue;
63
ServicePtr
mcurobject;
64
std::string mlastobject;
65
TaskContext
* context;
66
TaskContext
* _peer;
67
bool
mfullpath, mfoundpath;
68
RTT_HIDE
void
done();
69
70
RTT_HIDE
void
seenobjectname(
iter_t
begin,
iter_t
end );
71
RTT_HIDE
void
locatepeer(
iter_t
begin,
iter_t
end );
72
73
enum
PeerErrors { peer_not_found };
74
guard<PeerErrors> my_guard;
75
79
boost::iterator_difference<iter_t>::type advance_on_error;
80
RTT_HIDE
error_status<> handle_no_peer(
scanner_t
const
& scan, parser_error<PeerErrors, iter_t>&e );
81
public
:
89
PeerParser
(
TaskContext
* c,
CommonParser
& cp,
bool
fullpath=
false
);
90
95
void
reset();
96
104
rule_t
& parser();
105
111
rule_t
& locator();
112
116
TaskContext
* peer();
117
121
std::string object();
122
126
ServicePtr
taskObject();
127
133
bool
foundPath();
134
};
135
}}
136
137
#endif
rtt-scripting-config.h
RTT_SCRIPTING_API
#define RTT_SCRIPTING_API
Definition:
rtt-scripting-config.h:41
RTT::scripting::CommonParser
This class contains some very common parser definitions.
Definition:
CommonParser.hpp:52
RTT_HIDE
#define RTT_HIDE
Definition:
rtt-config.h:99
RTT::scripting::scanner_t
scanner< iter_t, scanner_pol_t > scanner_t
Definition:
parser-types.hpp:172
RTT::ServicePtr
boost::shared_ptr< Service > ServicePtr
Definition:
rtt-fwd.hpp:86
RTT::scripting::PeerParser
Get the peer and object from an invocation path like a.b.c.d() .
Definition:
PeerParser.hpp:58
RTT::scripting::rule_t
rule< scanner_t > rule_t
Definition:
parser-types.hpp:173
parser-types.hpp
RTT::TaskContext
The TaskContext is the C++ representation of an Orocos component.
Definition:
TaskContext.hpp:93
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:51
RTT::scripting::iter_t
our_pos_iter_t iter_t
Definition:
parser-types.hpp:67
CommonParser.hpp
Generated on Fri Apr 5 2019 12:14:54 for Orocos Real-Time Toolkit by
1.8.11