use TCP to connect to mbed connector
Fork of mbedConnectorInterfaceWithDM by
mbed-connector-interface/DeviceManagementResponder.h
- Committer:
- ansond
- Date:
- 2016-06-08
- Revision:
- 13:9edad7677211
- Child:
- 14:d9ce4e56684e
File content as of revision 13:9edad7677211:
/** * @file DeviceManagementResponder.h * @brief mbed CoAP Endpoint Device Management Responder class * @author Doug Anson * @version 1.0 * @see * * Copyright (c) 2016 * * 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 __DEVICE_MANAGEMENT_RESPONDER_H__ #define __DEVICE_MANAGEMENT_RESPONDER_H__ // Logger #include "mbed-connector-interface/Logger.h" // Authenticator Support #include "mbed-connector-interface/Authenticator.h" // invocation handler signature typedef bool (*responder_fn)(const void *ep,const void *logger,const void *data); class DeviceManagementResponder { public: /** Default constructor @param logger input logger instance @param authenticator input authentication instance */ DeviceManagementResponder(const Logger *logger,const Authenticator *authenticator); /** Copy constructor @param resource input the DeviceManagementResponder that is to be deep copied */ DeviceManagementResponder(const DeviceManagementResponder &manager); /** Destructor */ virtual ~DeviceManagementResponder(); /** Set the Endpoint instance @param ep input the endpoint instance pointer */ void setEndpoint(const void *ep); /** Set our Reboot Responder handler function @param reboot_responder_fn input the device reboot responder function pointer */ void setRebootResponderHandler(responder_fn reboot_responder_fn); /** Set our Reset Responder handler function @param reset_responder_fn input the device reset responder function pointer */ void setResetResponderHandler(responder_fn reset_responder_fn); /** Set our FOTA invocation handler function @param fota_invocation_fn input the FOTA invocation handler function pointer */ void setFOTAInvocationHandler(responder_fn fota_invocation_fn); /** Set our FOTA manifest @param fota_manifest input the input FOTA manifest */ virtual void setFOTAManifest(const char *fota_manifest); /** ACTION: Deregister device @param challenge input the input authentication challenge */ virtual void deregisterDevice(const void *challenge); /** ACTION: Reboot device @param challenge input the input authentication challenge */ virtual void rebootDevice(const void *challenge); /** ACTION: Reset device @param challenge input the input authentication challenge */ virtual void resetDevice(const void *challenge); /** ACTION: Invoke FOTA (default: empty action) @param challenge input the input authentication challenge */ virtual void invokeFOTA(const void *challenge); /** Set the State Resource @param state_resource input the state resource instance */ void setStateResource(const void *state_resource); /** Set the Result Resource @param result_resource input the result resource instance */ void setResultResource(const void *result_resource); /** Get the State Resource @return the state resource or NULL */ void *getStateResource(); /** Get the Result Resource @return the result resource or NULL */ void *getResultResource(); private: Logger *m_logger; Authenticator *m_authenticator; void *m_endpoint; char *m_fota_manifest; responder_fn m_reboot_responder_fn; responder_fn m_reset_responder_fn; responder_fn m_fota_invocation_fn; bool authenticate(const void *challenge); void *m_state_resource; void *m_result_resource; }; #endif // __DEVICE_MANAGEMENT_RESPONDER_H__