Sebastián Pastor / EtheriosCloudConnector
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers connector_api_remote.h Source File

connector_api_remote.h

00001 /*
00002  * Copyright (c) 2013 Digi International Inc.,
00003  * All rights not expressly granted are reserved.
00004  *
00005  * This Source Code Form is subject to the terms of the Mozilla Public
00006  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
00007  * You can obtain one at http://mozilla.org/MPL/2.0/.
00008  *
00009  * Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
00010  * =======================================================================
00011  */
00012 
00013 #ifndef _CONNECTOR_API_REMOTE_H
00014 #define _CONNECTOR_API_REMOTE_H
00015 
00016 #if (defined CONNECTOR_RCI_SERVICE)
00017 #include "connector_types.h"
00018 /**
00019 * @defgroup connector_request_id_remote_config_t Remote Configuration Request IDs
00020 * @{
00021 */
00022 /**
00023 * Remote Configuration Request ID passed to the application's callback to query or set remote configuration data.
00024 * The class id for this connector_request_id_remote_config_t is connector_class_id_remote_config.
00025 */
00026 
00027 typedef enum {
00028     connector_request_id_remote_config_session_start,  /**< inform callback to start remote configuration request */
00029     connector_request_id_remote_config_action_start,   /**< requesting callback to start query or set remote configuration data */
00030     connector_request_id_remote_config_group_start,    /**< requesting callback to start query or set an individual configuration group */
00031     connector_request_id_remote_config_group_process,  /**< requesting callback to query or set an element or field of a configuration group */
00032     connector_request_id_remote_config_group_end,      /**< requesting callback to end query or set an individual configuration group */
00033     connector_request_id_remote_config_action_end,     /**< requesting callback to end query or set remote configuration data */
00034     connector_request_id_remote_config_session_end,    /**< inform callback to end remote configuration request
00035                                                             Callback may start writing data into NVRAM for set remote configuration request.
00036                                                             Callback should end and release any resources used when it's done. */
00037     connector_request_id_remote_config_session_cancel  /**< Requesting callback to abort and cancel any query or set remote configuration request.
00038                                                             Callback should stop and release any resources used */
00039 } connector_request_id_remote_config_t;
00040 /**
00041 * @}
00042 */
00043 
00044 
00045 /**
00046  * @defgroup connector_remote_action_t Cloud Connector remote configuration action types
00047  * @{
00048  */
00049 /**
00050  * Remote request action types
00051  */
00052 typedef enum {
00053     connector_remote_action_set,    /**< Set remote configuration */
00054     connector_remote_action_query   /**< Query remote configuration */
00055 } connector_remote_action_t;
00056 /**
00057  * @}
00058  */
00059 
00060 /**
00061  * @defgroup connector_remote_group_type_t Cloud Connector remote configuration types
00062  * @{
00063  */
00064 /**
00065  * Remote request group types.
00066  */
00067 typedef enum {
00068     connector_remote_group_setting, /**< Setting configuration */
00069     connector_remote_group_state    /**< State configuration */
00070 } connector_remote_group_type_t;
00071 
00072 /**
00073 * @}
00074 */
00075 
00076 
00077 /**
00078 * @defgroup connector_element_access_t Cloud Connector remote configuration access types
00079 * @{
00080 */
00081 /**
00082 * Remote Configuration Element Access types
00083 */
00084 typedef enum {
00085     connector_element_access_read_only,     /**< Read only */
00086     connector_element_access_write_only,    /**< Write only */
00087     connector_element_access_read_write     /**< Read and write */
00088 } connector_element_access_t;
00089 /**
00090 * @}
00091 */
00092 
00093 #endif
00094 
00095 #if !defined _CONNECTOR_API_H
00096 #error  "Illegal inclusion of connector_api_remote.h. You should only include connector_api.h in user code."
00097 #endif
00098 
00099 #else
00100 #error  "Illegal inclusion of connector_api_remote.h. You should only include connector_api.h in user code."
00101 #endif
00102