Osamu Nakamura / Mbed OS mbed-os_Watson-IoT_ZXing_sample

Dependencies:   AsciiFont DisplayApp GR-PEACH_video LCD_shield_config LWIPBP3595Interface_STA_for_mbed-os USBDevice

Committer:
Osamu Nakamura
Date:
Thu Nov 10 20:23:55 2016 +0900
Revision:
1:67f8b5cfde75
Parent:
0:7d720671e6dc
Revised the initial value of /888/0/7700

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Osamu Nakamura 0:7d720671e6dc 1 /**
Osamu Nakamura 0:7d720671e6dc 2 * @file TickerResourceObserver.h
Osamu Nakamura 0:7d720671e6dc 3 * @brief mbed CoAP DynamicResource Ticker-based observer (header)
Osamu Nakamura 0:7d720671e6dc 4 * @author Doug Anson/Chris Paola
Osamu Nakamura 0:7d720671e6dc 5 * @version 1.0
Osamu Nakamura 0:7d720671e6dc 6 * @see
Osamu Nakamura 0:7d720671e6dc 7 *
Osamu Nakamura 0:7d720671e6dc 8 * Copyright (c) 2014
Osamu Nakamura 0:7d720671e6dc 9 *
Osamu Nakamura 0:7d720671e6dc 10 * Licensed under the Apache License, Version 2.0 (the "License");
Osamu Nakamura 0:7d720671e6dc 11 * you may not use this file except in compliance with the License.
Osamu Nakamura 0:7d720671e6dc 12 * You may obtain a copy of the License at
Osamu Nakamura 0:7d720671e6dc 13 *
Osamu Nakamura 0:7d720671e6dc 14 * http://www.apache.org/licenses/LICENSE-2.0
Osamu Nakamura 0:7d720671e6dc 15 *
Osamu Nakamura 0:7d720671e6dc 16 * Unless required by applicable law or agreed to in writing, software
Osamu Nakamura 0:7d720671e6dc 17 * distributed under the License is distributed on an "AS IS" BASIS,
Osamu Nakamura 0:7d720671e6dc 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Osamu Nakamura 0:7d720671e6dc 19 * See the License for the specific language governing permissions and
Osamu Nakamura 0:7d720671e6dc 20 * limitations under the License.
Osamu Nakamura 0:7d720671e6dc 21 */
Osamu Nakamura 0:7d720671e6dc 22
Osamu Nakamura 0:7d720671e6dc 23 #ifndef __TICKER_RESOURCE_OBSERVER_H__
Osamu Nakamura 0:7d720671e6dc 24 #define __TICKER_RESOURCE_OBSERVER_H__
Osamu Nakamura 0:7d720671e6dc 25
Osamu Nakamura 0:7d720671e6dc 26 // mbedConnectorInterface configuration
Osamu Nakamura 0:7d720671e6dc 27 #include "mbed-connector-interface/mbedConnectorInterface.h"
Osamu Nakamura 0:7d720671e6dc 28
Osamu Nakamura 0:7d720671e6dc 29 #ifdef CONNECTOR_USING_TICKER
Osamu Nakamura 0:7d720671e6dc 30
Osamu Nakamura 0:7d720671e6dc 31 // mbed support
Osamu Nakamura 0:7d720671e6dc 32 #if defined(MCI_USE_YOTTA)
Osamu Nakamura 0:7d720671e6dc 33 // mbed support
Osamu Nakamura 0:7d720671e6dc 34 #include "mbed-drivers/mbed.h"
Osamu Nakamura 0:7d720671e6dc 35 #else
Osamu Nakamura 0:7d720671e6dc 36 // mbed support
Osamu Nakamura 0:7d720671e6dc 37 #include "mbed.h"
Osamu Nakamura 0:7d720671e6dc 38 #endif
Osamu Nakamura 0:7d720671e6dc 39
Osamu Nakamura 0:7d720671e6dc 40 // Base class support
Osamu Nakamura 0:7d720671e6dc 41 #include "mbed-connector-interface/ResourceObserver.h"
Osamu Nakamura 0:7d720671e6dc 42
Osamu Nakamura 0:7d720671e6dc 43 class TickerResourceObserver : public ResourceObserver {
Osamu Nakamura 0:7d720671e6dc 44 public:
Osamu Nakamura 0:7d720671e6dc 45 /**
Osamu Nakamura 0:7d720671e6dc 46 Default Constructor
Osamu Nakamura 0:7d720671e6dc 47 @param resource input the resource to observe
Osamu Nakamura 0:7d720671e6dc 48 @param timer_id input the id for our timer (can be index value of each resource that is observed...)
Osamu Nakamura 0:7d720671e6dc 49 @param sleep_time input the time for the observation tasklet to sleep (in whole seconds...)
Osamu Nakamura 0:7d720671e6dc 50 */
Osamu Nakamura 0:7d720671e6dc 51 TickerResourceObserver(DynamicResource *resource,int sleep_time = DEFAULT_OBS_PERIOD);
Osamu Nakamura 0:7d720671e6dc 52
Osamu Nakamura 0:7d720671e6dc 53 /**
Osamu Nakamura 0:7d720671e6dc 54 Copy Constructor
Osamu Nakamura 0:7d720671e6dc 55 */
Osamu Nakamura 0:7d720671e6dc 56 TickerResourceObserver(const TickerResourceObserver &observer);
Osamu Nakamura 0:7d720671e6dc 57
Osamu Nakamura 0:7d720671e6dc 58 /**
Osamu Nakamura 0:7d720671e6dc 59 Destructor
Osamu Nakamura 0:7d720671e6dc 60 */
Osamu Nakamura 0:7d720671e6dc 61 virtual ~TickerResourceObserver();
Osamu Nakamura 0:7d720671e6dc 62
Osamu Nakamura 0:7d720671e6dc 63 /**
Osamu Nakamura 0:7d720671e6dc 64 begin the observation
Osamu Nakamura 0:7d720671e6dc 65 */
Osamu Nakamura 0:7d720671e6dc 66 virtual void beginObservation();
Osamu Nakamura 0:7d720671e6dc 67
Osamu Nakamura 0:7d720671e6dc 68 /**
Osamu Nakamura 0:7d720671e6dc 69 stop the observation
Osamu Nakamura 0:7d720671e6dc 70 */
Osamu Nakamura 0:7d720671e6dc 71 virtual void stopObservation();
Osamu Nakamura 0:7d720671e6dc 72
Osamu Nakamura 0:7d720671e6dc 73 /**
Osamu Nakamura 0:7d720671e6dc 74 tasklet invoke function (static)
Osamu Nakamura 0:7d720671e6dc 75 */
Osamu Nakamura 0:7d720671e6dc 76 void observationNotifier(void);
Osamu Nakamura 0:7d720671e6dc 77
Osamu Nakamura 0:7d720671e6dc 78 /**
Osamu Nakamura 0:7d720671e6dc 79 halt the underlying observer mechanism
Osamu Nakamura 0:7d720671e6dc 80 */
Osamu Nakamura 0:7d720671e6dc 81 virtual void halt();
Osamu Nakamura 0:7d720671e6dc 82
Osamu Nakamura 0:7d720671e6dc 83 private:
Osamu Nakamura 0:7d720671e6dc 84 Ticker m_ticker;
Osamu Nakamura 0:7d720671e6dc 85 };
Osamu Nakamura 0:7d720671e6dc 86
Osamu Nakamura 0:7d720671e6dc 87 #endif // CONNECTOR_USING_TICKER
Osamu Nakamura 0:7d720671e6dc 88
Osamu Nakamura 0:7d720671e6dc 89 #endif // __TICKER_RESOURCE_OBSERVER_H__