iCub-main
ports.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2011 Department of Robotics Brain and Cognitive Sciences - Istituto Italiano di Tecnologia
3  * Author: Ugo Pattacini
4  * email: ugo.pattacini@iit.it
5  * Permission is granted to copy, distribute, and/or modify this program
6  * under the terms of the GNU General Public License, version 2 or any
7  * later version published by the Free Software Foundation.
8  *
9  * A copy of the license can be found at
10  * http://www.robotcub.org/icub/license/gpl.txt
11  *
12  * This program is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
15  * Public License for more details
16 */
17 
19 
20 using namespace std;
21 using namespace yarp::os;
22 using namespace iCub::perception;
23 
24 
25 /************************************************************************/
27 {
28  useCallback();
29 }
30 
31 
32 /************************************************************************/
33 void iCub::perception::Port::onRead(Bottle &bottle)
34 {
35  lock_guard<mutex> lck(mtx);
36  this->bottle=bottle;
37 }
38 
39 
40 /************************************************************************/
41 Value iCub::perception::Port::getValue(const int index)
42 {
43  lock_guard<mutex> lck(mtx);
44 
45  Value ret;
46  if ((index>=0) && (index<bottle.size()))
47  ret=Value(bottle.get(index).asFloat64());
48  return ret;
49 }
50 
51 
52 
53 
yarp::os::Value getValue(const int index)
Definition: ports.cpp:41
void onRead(yarp::os::Bottle &bottle)
Definition: ports.cpp:33