The Cayenne MQTT mbed Library provides functions to easily connect to the Cayenne IoT project builder.

Fork of Cayenne-MQTT-mbed by myDevicesIoT

Committer:
jburhenn
Date:
Fri Oct 07 17:21:45 2016 +0000
Revision:
0:09ef59d2d0f7
Initial commit.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jburhenn 0:09ef59d2d0f7 1 /*
jburhenn 0:09ef59d2d0f7 2 The MIT License(MIT)
jburhenn 0:09ef59d2d0f7 3
jburhenn 0:09ef59d2d0f7 4 Cayenne MQTT Client Library
jburhenn 0:09ef59d2d0f7 5 Copyright (c) 2016 myDevices
jburhenn 0:09ef59d2d0f7 6
jburhenn 0:09ef59d2d0f7 7 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
jburhenn 0:09ef59d2d0f7 8 documentation files(the "Software"), to deal in the Software without restriction, including without limitation
jburhenn 0:09ef59d2d0f7 9 the rights to use, copy, modify, merge, publish, distribute, sublicense, and / or sell copies of the Software,
jburhenn 0:09ef59d2d0f7 10 and to permit persons to whom the Software is furnished to do so, subject to the following conditions :
jburhenn 0:09ef59d2d0f7 11 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
jburhenn 0:09ef59d2d0f7 12 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
jburhenn 0:09ef59d2d0f7 13 WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE AUTHORS OR
jburhenn 0:09ef59d2d0f7 14 COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
jburhenn 0:09ef59d2d0f7 15 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
jburhenn 0:09ef59d2d0f7 16 */
jburhenn 0:09ef59d2d0f7 17
jburhenn 0:09ef59d2d0f7 18 #ifndef _TIMERINTERFACE_h
jburhenn 0:09ef59d2d0f7 19 #define _TIMERINTERFACE_h
jburhenn 0:09ef59d2d0f7 20
jburhenn 0:09ef59d2d0f7 21 // Interface for the platform specific Timer class used by MQTTClient. You do not need to derive your Timer class from this interface
jburhenn 0:09ef59d2d0f7 22 // but your platform specific Timer class must provide the same functions.
jburhenn 0:09ef59d2d0f7 23 class TimerInterface
jburhenn 0:09ef59d2d0f7 24 {
jburhenn 0:09ef59d2d0f7 25 public:
jburhenn 0:09ef59d2d0f7 26 ///**
jburhenn 0:09ef59d2d0f7 27 //* A constructor with the following signature should be included in your Timer class. It should construct a timer and immediately start it.
jburhenn 0:09ef59d2d0f7 28 //* @param[in] milliseconds Number of milliseconds to count down.
jburhenn 0:09ef59d2d0f7 29 //*/
jburhenn 0:09ef59d2d0f7 30 //TimerInterface(int milliseconds) {
jburhenn 0:09ef59d2d0f7 31 // countdown_ms(milliseconds);
jburhenn 0:09ef59d2d0f7 32 //}
jburhenn 0:09ef59d2d0f7 33
jburhenn 0:09ef59d2d0f7 34 /**
jburhenn 0:09ef59d2d0f7 35 * Start countdown.
jburhenn 0:09ef59d2d0f7 36 * @param[in] milliseconds Number of milliseconds to count down.
jburhenn 0:09ef59d2d0f7 37 */
jburhenn 0:09ef59d2d0f7 38 virtual void countdown_ms(int milliseconds) = 0;
jburhenn 0:09ef59d2d0f7 39
jburhenn 0:09ef59d2d0f7 40 /**
jburhenn 0:09ef59d2d0f7 41 * Start countdown.
jburhenn 0:09ef59d2d0f7 42 * @param[in] seconds Number of seconds to count down.
jburhenn 0:09ef59d2d0f7 43 */
jburhenn 0:09ef59d2d0f7 44 virtual void countdown(int seconds) = 0;
jburhenn 0:09ef59d2d0f7 45
jburhenn 0:09ef59d2d0f7 46 /**
jburhenn 0:09ef59d2d0f7 47 * Get the number of milliseconds left in countdown.
jburhenn 0:09ef59d2d0f7 48 * @return Number of milliseconds left.
jburhenn 0:09ef59d2d0f7 49 */
jburhenn 0:09ef59d2d0f7 50 virtual int left_ms() = 0;
jburhenn 0:09ef59d2d0f7 51
jburhenn 0:09ef59d2d0f7 52 /**
jburhenn 0:09ef59d2d0f7 53 * The countdown timer has expired.
jburhenn 0:09ef59d2d0f7 54 * @return true if countdown has expired, false otherwise.
jburhenn 0:09ef59d2d0f7 55 */
jburhenn 0:09ef59d2d0f7 56 virtual bool expired() = 0;
jburhenn 0:09ef59d2d0f7 57 };
jburhenn 0:09ef59d2d0f7 58
jburhenn 0:09ef59d2d0f7 59 #endif