rec::robotino::api2 C++ interface
LaserRangeFinderReadingsShared.h
1 // Copyright (C) 2004-2010, Robotics Equipment Corporation GmbH
2 
3 //Copyright (c) ...
4 //
5 //REC Robotics Equipment Corporation GmbH, Planegg, Germany. All rights reserved.
6 //Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
7 //1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8 //2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
9 //
10 //THIS SOFTWARE IS PROVIDED BY REC ROBOTICS EQUIPMENT CORPORATION GMBH �AS IS� AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
11 //THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL REC ROBOTICS EQUIPMENT CORPORATION GMBH
12 //BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
13 //GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
14 //LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
15 //
16 //Copyright (c) ...
17 //
18 //REC Robotics Equipment Corporation GmbH, Planegg, Germany. Alle Rechte vorbehalten.
19 //Weiterverbreitung und Verwendung in nichtkompilierter oder kompilierter Form, mit oder ohne Ver�nderung, sind unter den folgenden Bedingungen zul�ssig:
20 //1) Weiterverbreitete nichtkompilierte Exemplare m�ssen das obige Copyright, diese Liste der Bedingungen und den folgenden Haftungsausschluss im Quelltext enthalten.
21 //2) Weiterverbreitete kompilierte Exemplare m�ssen das obige Copyright, diese Liste der Bedingungen und den folgenden Haftungsausschluss in der Dokumentation und/oder anderen Materialien, die mit dem Exemplar verbreitet werden, enthalten.
22 //
23 //DIESE SOFTWARE WIRD VON REC ROBOTICS EQUIPMENT CORPORATION GMBH OHNE JEGLICHE SPEZIELLE ODER IMPLIZIERTE GARANTIEN ZUR VERF�GUNG GESTELLT, DIE UNTER
24 //ANDEREM EINSCHLIESSEN: DIE IMPLIZIERTE GARANTIE DER VERWENDBARKEIT DER SOFTWARE F�R EINEN BESTIMMTEN ZWECK. AUF KEINEN FALL IST REC ROBOTICS EQUIPMENT CORPORATION GMBH
25 //F�R IRGENDWELCHE DIREKTEN, INDIREKTEN, ZUF�LLIGEN, SPEZIELLEN, BEISPIELHAFTEN ODER FOLGESCH�DEN (UNTER ANDEREM VERSCHAFFEN VON ERSATZG�TERN ODER -DIENSTLEISTUNGEN;
26 //EINSCHR�NKUNG DER NUTZUNGSF�HIGKEIT; VERLUST VON NUTZUNGSF�HIGKEIT; DATEN; PROFIT ODER GESCH�FTSUNTERBRECHUNG), WIE AUCH IMMER VERURSACHT UND UNTER WELCHER VERPFLICHTUNG
27 //AUCH IMMER, OB IN VERTRAG, STRIKTER VERPFLICHTUNG ODER UNERLAUBTER HANDLUNG (INKLUSIVE FAHRL�SSIGKEIT) VERANTWORTLICH, AUF WELCHEM WEG SIE AUCH IMMER DURCH DIE BENUTZUNG
28 //DIESER SOFTWARE ENTSTANDEN SIND, SOGAR, WENN SIE AUF DIE M�GLICHKEIT EINES SOLCHEN SCHADENS HINGEWIESEN WORDEN SIND.
29 
30 #ifndef _REC_ROBOTINO_COM_LASERRANGEFINDERREADINGSSHARED_H_
31 #define _REC_ROBOTINO_COM_LASERRANGEFINDERREADINGSSHARED_H_
32 
33 #ifdef HAVE_QT
34 
35 #include "rec/robotino/api2/LaserRangeFinderReadings.h"
36 
37 #include <QSharedData>
38 #include <QMetaType>
39 
40 namespace rec
41 {
42  namespace robotino
43  {
44  namespace api2
45  {
46 
47  class LaserRangeFinderReadingsSharedData : public QSharedData
48  {
49  public:
50  LaserRangeFinderReadingsSharedData()
51  {
52  }
53 
54  LaserRangeFinderReadingsSharedData( const LaserRangeFinderReadingsSharedData& other )
55  : QSharedData( other )
56  , readings( other.readings )
57  {
58  }
59 
61  };
62 
63  class LaserRangeFinderReadingsShared
64  {
65  public:
66  LaserRangeFinderReadingsShared()
67  : d( new LaserRangeFinderReadingsSharedData )
68  {
69  }
70 
71  LaserRangeFinderReadingsShared( const rec::robotino::api2::LaserRangeFinderReadings& r )
72  : d( new LaserRangeFinderReadingsSharedData )
73  {
74  d->readings = r;
75  }
76 
78  {
79  return d->readings;
80  }
81 
82  const rec::robotino::api2::LaserRangeFinderReadings& readings() const
83  {
84  return d->readings;
85  }
86 
87  private:
88  QSharedDataPointer<LaserRangeFinderReadingsSharedData> d;
89  };
90  }
91  }
92 }
93 
95 Q_DECLARE_METATYPE(rec::robotino::api2::LaserRangeFinderReadingsShared)
96 
97 #endif //HAVE_QT
98 #endif //_REC_ROBOTINO_COM_LASERRANGEFINDERREADINGSSHARED_H_
Sensor readings of Robotino&#39;s (optional) laser rangefinder.
Definition: LaserRangeFinderReadings.h:45
Definition: AnalogInput.h:36