Fork of my original MQTTGateway

Dependencies:   mbed-http

Committer:
vpcola
Date:
Sat Apr 08 14:43:14 2017 +0000
Revision:
0:a1734fe1ec4b
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vpcola 0:a1734fe1ec4b 1 /**
vpcola 0:a1734fe1ec4b 2 * Copyright (c) 2015 Digi International Inc.,
vpcola 0:a1734fe1ec4b 3 * All rights not expressly granted are reserved.
vpcola 0:a1734fe1ec4b 4 *
vpcola 0:a1734fe1ec4b 5 * This Source Code Form is subject to the terms of the Mozilla Public
vpcola 0:a1734fe1ec4b 6 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
vpcola 0:a1734fe1ec4b 7 * You can obtain one at http://mozilla.org/MPL/2.0/.
vpcola 0:a1734fe1ec4b 8 *
vpcola 0:a1734fe1ec4b 9 * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
vpcola 0:a1734fe1ec4b 10 * =======================================================================
vpcola 0:a1734fe1ec4b 11 */
vpcola 0:a1734fe1ec4b 12
vpcola 0:a1734fe1ec4b 13 #if !defined(__FH_IO_DATA_SAMPLE_DM_H_)
vpcola 0:a1734fe1ec4b 14 #define __FH_IO_DATA_SAMPLE_DM_H_
vpcola 0:a1734fe1ec4b 15
vpcola 0:a1734fe1ec4b 16 #include "FrameHandler.h"
vpcola 0:a1734fe1ec4b 17 #include "RemoteXBee/RemoteXBee.h"
vpcola 0:a1734fe1ec4b 18
vpcola 0:a1734fe1ec4b 19 namespace XBeeLib {
vpcola 0:a1734fe1ec4b 20
vpcola 0:a1734fe1ec4b 21 class IOSampleDM;
vpcola 0:a1734fe1ec4b 22
vpcola 0:a1734fe1ec4b 23 /**
vpcola 0:a1734fe1ec4b 24 * @defgroup callback_types "Callback types declaration"
vpcola 0:a1734fe1ec4b 25 * @{
vpcola 0:a1734fe1ec4b 26 */
vpcola 0:a1734fe1ec4b 27 /** IO Data Sample reception (ZigBee modules) callback type declaration
vpcola 0:a1734fe1ec4b 28 * @param remote the remote module that sent the data
vpcola 0:a1734fe1ec4b 29 * @param sample_data a referece to an @ref IOSampleDM that can be queried for the IoLines' values
vpcola 0:a1734fe1ec4b 30 */
vpcola 0:a1734fe1ec4b 31 typedef void (*io_data_cb_dm_t)(const RemoteXBeeDM& remote, const IOSampleDM& sample_data);
vpcola 0:a1734fe1ec4b 32 /**
vpcola 0:a1734fe1ec4b 33 * @}
vpcola 0:a1734fe1ec4b 34 */
vpcola 0:a1734fe1ec4b 35
vpcola 0:a1734fe1ec4b 36 class FH_IoDataSampeDM : public FrameHandler
vpcola 0:a1734fe1ec4b 37 {
vpcola 0:a1734fe1ec4b 38 public:
vpcola 0:a1734fe1ec4b 39 /** Class constructor */
vpcola 0:a1734fe1ec4b 40 FH_IoDataSampeDM();
vpcola 0:a1734fe1ec4b 41
vpcola 0:a1734fe1ec4b 42 /** Class destructor */
vpcola 0:a1734fe1ec4b 43 virtual ~FH_IoDataSampeDM();
vpcola 0:a1734fe1ec4b 44
vpcola 0:a1734fe1ec4b 45 virtual void process_frame_data(const ApiFrame *const frame);
vpcola 0:a1734fe1ec4b 46
vpcola 0:a1734fe1ec4b 47 void register_io_data_cb(io_data_cb_dm_t function);
vpcola 0:a1734fe1ec4b 48
vpcola 0:a1734fe1ec4b 49 void unregister_io_data_cb();
vpcola 0:a1734fe1ec4b 50
vpcola 0:a1734fe1ec4b 51 private:
vpcola 0:a1734fe1ec4b 52 /** Callback function, invoked if registered */
vpcola 0:a1734fe1ec4b 53 io_data_cb_dm_t io_data_cb;
vpcola 0:a1734fe1ec4b 54 };
vpcola 0:a1734fe1ec4b 55
vpcola 0:a1734fe1ec4b 56 } /* namespace XBeeLib */
vpcola 0:a1734fe1ec4b 57
vpcola 0:a1734fe1ec4b 58 #endif /* __FH_IO_DATA_SAMPLE_DM_H_ */