EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoMaintenanceChainer.h
Go to the documentation of this file.
1 /******************************************************************************
2 DISCLAIMER
3 
4 THIS SOFTWARE PRODUCT ("SOFTWARE") IS PROPRIETARY TO ENOCEAN GMBH, OBERHACHING,
5 GERMANY (THE "OWNER") AND IS PROTECTED BY COPYRIGHT AND INTERNATIONAL TREATIES OR
6 PROTECTED AS TRADE SECRET OR AS OTHER INTELLECTUAL PROPERTY RIGHT. ALL RIGHTS, TITLE AND
7 INTEREST IN AND TO THE SOFTWARE, INCLUDING ANY COPYRIGHT, TRADE SECRET OR ANY OTHER
8 INTELLECTUAL PROPERTY EMBODIED IN THE SOFTWARE, AND ANY RIGHTS TO REPRODUCE,
9 DISTRIBUTE, MODIFY, DISPLAY OR OTHERWISE USE THE SOFTWARE SHALL EXCLUSIVELY VEST IN THE
10 OWNER. ANY UNAUTHORIZED REPRODUCTION, DISTRIBUTION, MODIFICATION, DISPLAY OR OTHER
11 USE OF THE SOFTWARE WITHOUT THE EXPLICIT PERMISSION OF OWNER IS PROHIBITED AND WILL
12 CONSTITUTE AN INFRINGEMENT OF THE OWNER'S RIGHT AND MAY BE SUBJECT TO CIVIL OR
13 CRIMINAL SANCTION.
14 
15 THIS SOFTWARE IS PROVIDED BY THE OWNER "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
17 FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN PARTICULAR, THE OWNER DOES NOT WARRANT
18 THAT THE SOFTWARE SHALL BE ERROR FREE AND WORKS WITHOUT INTERRUPTION.
19 
20 IN NO EVENT SHALL THE OWNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
21 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 ******************************************************************************/
27 
34 #ifndef EOMAINTENANCECHAINER_H_
35 #define EOMAINTENANCECHAINER_H_
36 
37 #include "eoChainedMainMessage.h"
38 #include "eoMaintenanceMessage.h"
39 class eoGateway;
40 
41 #include <map>
43 typedef std::map<uint32_t, eoChainedMainMessage*> id_manmsg_map;
44 
50 {
51 
52 public:
54  virtual ~eoMaintenanceChainer();
58  void CleanUpList();
59 
67 
75 
76 private:
77 
88  eoChainedMainMessage* GetChainedMessage(const eoTelegram &tel, eoReturn &retValue);
100  eoReturn AddParsedChainedMessage(eoTelegram const &tel, eoMaintenanceMessage &msg, eoChainedMainMessage* chm);
101  id_manmsg_map list;
102  uint8_t seq;
103 };
104 #endif
eoReturn SendChainedMessage(const eoMaintenanceMessage &msg, eoGateway &gateway)
every Communication from an EnOcean Device to another one consist out of one more Telegrams...
Definition: eoTelegram.h:43
eoReturn ParseChainedMessage(eoTelegram &tel, eoMaintenanceMessage &msg)
The maintenance message class, these messages represent an EnOcean maintenance message.
Definition: eoMaintenanceMessage.h:56
Definition: eoMaintenanceChainer.h:49
eoReturn
contains all the return values from different functions
Definition: eoApiDef.h:40
EnOcean Gateway class, for handling a gateway Module.
Definition: eoGateway.h:139
std::map< uint32_t, eoChainedMainMessage * > id_manmsg_map
Message container for merging.
Definition: eoMaintenanceChainer.h:39