mbed Connector Endpoint interface. This interface permits a mbed endpoint to easily setup MDS resources and emit those resources to an MDS server.
Dependents: IoT_LED_demo ServoTest uWater_Project hackathon ... more
Diff: api/ThreadedResourceObserver.h
- Revision:
- 30:113c2a1d8db2
- Child:
- 31:bacc63106754
diff -r 2f33650ca800 -r 113c2a1d8db2 api/ThreadedResourceObserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/api/ThreadedResourceObserver.h Tue Apr 07 21:30:03 2015 +0000 @@ -0,0 +1,63 @@ +/** + * @file ThreadedResourceObserver.h + * @brief mbed CoAP DynamicResource Thread-based observer (header) + * @author Doug Anson/Chris Paola + * @version 1.0 + * @see + * + * Copyright (c) 2014 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __THREADED_RESOURCE_OBSERVER_H__ +#define __THREADED_RESOURCE_OBSERVER_H__ + +// Thread support +#include "mbed.h" +#include "rtos.h" + +// Base class support +#include "ResourceObserver.h" + +class ThreadedResourceObserver : public ResourceObserver { + public: + /** + Default Constructor + @param resource input the resource to observe + @param sleep_time_ms input the time for the observation thread to sleep (in ms) + */ + ThreadedResourceObserver(DynamicResource *resource,int sleep_time_ms); + + /** + Destructor + */ + virtual ~ThreadedResourceObserver(); + + /** + begin the observation + */ + virtual void beginObservation(); + + /** + thread invoke function (static) + */ + static void _observation_notifier(void const *args); + + private: + bool m_begin_observation; + Thread m_observation_thread; + int m_sleep_time_ms; +}; + +#endif // __THREADED_RESOURCE_OBSERVER_H__ \ No newline at end of file