use TCP to connect to mbed connector

Fork of mbedConnectorInterfaceWithDM by Doug Anson

Revision:
27:b8aaf7dc7023
Child:
31:2507e64fcc42
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/source/MinarResourceObserver.cpp	Tue Jun 14 04:01:34 2016 +0000
@@ -0,0 +1,65 @@
+/**
+ * @file    MinarResourceObserver.cpp
+ * @brief   mbed CoAP DynamicResource Minar-based observer (implementation)
+ * @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.
+ */
+
+#if defined(MCI_MINAR_SCHEDULER)
+
+#include "mbed-connector-interface/MinarResourceObserver.h"
+
+// DEBUG
+#ifndef NDEBUG
+#define DEBUG_OUT(...) { printf(__VA_ARGS__); }
+#else
+#define DEBUG_OUT(...) /* nothing */
+#endif
+
+ // constructor
+ MinarResourceObserver::MinarResourceObserver(DynamicResource *resource,int sleep_time) : ResourceObserver(resource,sleep_time) {
+        this->setObserving(false);
+        
+        // DEBUG
+        DEBUG_OUT("MinarResourceObserver being used for %s (sleep_time=%d ms)\r\n",resource->getName().c_str(),sleep_time);
+ }
+
+ // destructor
+ MinarResourceObserver::~MinarResourceObserver() {
+     this->stopObservation();
+ }
+
+ // notifier
+ void MinarResourceObserver::perform_observation() {
+     if (this->isObserving() == true && this->getResource() != NULL && this->getResource()->isConnected() == true) {
+             this->getResource()->observe();
+     }
+ }
+
+ // begin observing...
+ void MinarResourceObserver::beginObservation() {
+     this->setObserving(true);
+     minar::Scheduler::postCallback(this,&MinarResourceObserver::perform_observation).period(minar::milliseconds(this->getSleepTime()));
+ }
+
+ // stop observing...
+ void MinarResourceObserver::stopObservation() {
+     this->setObserving(false);
+ }
+ 
+ #endif // MCI_MINAR_SCHEDULER