rec::robotino::api2 C++ interface
Factory4.h
1 // Copyright (C) 2004-2008, 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_API2_FACTORY4_H
31 #define _REC_ROBOTINO_API2_FACTORY4_H
32 
33 #include "rec/robotino/api2/defines.h"
34 #include "rec/robotino/api2/ComObject.h"
35 
36 #include "rec/robotino/api2/Factory4Position.h"
37 #include "rec/robotino/api2/Factory4RobotInfo.h"
38 #include "rec/robotino/api2/Factory4McData.h"
39 #include "rec/robotino/api2/Factory4MapInfo.h"
40 #include "rec/robotino/api2/Factory4JobInfo.h"
41 #include "rec/robotino/api2/Factory4JobError.h"
42 #include "rec/robotino/api2/Factory4MapList.h"
43 
44 
45 namespace rec
46 {
47  namespace robotino
48  {
49  namespace api2
50  {
51  class Factory4Impl;
52 
56  class
57 #ifdef REC_ROBOTINO_API2_CLASS_ATTRIBUTE
58  REC_ROBOTINO_API2_CLASS_ATTRIBUTE
59 #endif
60  Factory4 : public ComObject
61  {
62  friend class Factory4Impl;
63  public:
64  enum
65  {
66  OPERATIONMODE_OUTOFSERVICE,
67  OPERATIONMODE_AUTO,
68  OPERATIONMODE_MANUAL
69  };
70 
71  Factory4();
72 
73  virtual ~Factory4();
74 
82  void setComId( const ComId& id );
83 
90  void processEvents();
91 
92  /*
93  For a list of possoble messages see http://wiki.openrobotino.org/index.php?title=SmartFestoFleetCom
94  */
95  void sendMessage(const char* message);
96 
100  void setMapPlanner(const char* data, unsigned int dataSize);
101 
102  void mapDirRequest(const char* infoData, const unsigned int infoDataSize);
103  void mapDirRequest(const char* infoData, const unsigned int infoDataSize, const char* data, const unsigned int dataSize);
104 
105  void savePathNetwork(const char* data, const unsigned int dataSize);
106 
107  void setSmartLocations(const char* data, const unsigned int dataSize);
108  void setSmartStations(const char* data, const unsigned int dataSize);
109 
110  /*Events*/
111 
112  virtual void mclayoutEvent(const char* data, const unsigned int dataSize);
113  virtual void mcstatusEvent(const char* data, const unsigned int dataSize);
114  virtual void pathnetworkEvent(const char* data, const unsigned int dataSize);
115  virtual void localizationModeEvent(const char* mode, const unsigned int dataSize);
116  virtual void smartlogEvent(const char* data, const unsigned int dataSize);
117  virtual void smartnavigationplanEvent(const char* data, const unsigned int dataSize);
118  virtual void smartlocationsEvent(const char* data, const unsigned int dataSize);
119  virtual void smartstationsEvent(const char* data, const unsigned int dataSize);
120  virtual void smartrobotinfoEvent(const char* data, const unsigned int dataSize);
121  virtual void smartmyrobotidEvent(const char* data, const unsigned int dataSize);
122  virtual void smartjoblistEvent(const char* data, const unsigned int dataSize);
123  virtual void mapDirEvent(const char* data, const unsigned int dataSize);
124  virtual void mapDirWithDataEvent(const char* jsonData, const unsigned int jsonDataSize, const char* data, const unsigned int dataSize);
125  virtual void fleetcom_responseEvent(const char* data, const unsigned int dataSize);
126  virtual void mapDir_responseEvent(const char* infoData, const unsigned int infoDataSize, const char* data, const unsigned int dataSize);
127  virtual void smartlicenseEvent(const char* data, const unsigned int dataSize);
128 
132  virtual void mapEvent(const char* data, unsigned int dataSize, const rec::robotino::api2::Factory4MapInfo& info);
133 
137  virtual void mapPlannerEvent(const char* data, unsigned int dataSize, const rec::robotino::api2::Factory4MapInfo& info);
138 
139  private:
140  Factory4Impl* _impl;
141  };
142  }
143  }
144 }
145 #endif // _REC_ROBOTINO_API2_FACTORY4_H
The base class for all Robotino objects.
Definition: ComObject.h:44
Definition: AnalogInput.h:36
Definition: Factory4MapInfo.h:40
The id of a Com object.
Definition: ComId.h:48
Factory4 interface.
Definition: Factory4.h:56