summaryrefslogtreecommitdiffstats
path: root/ucs2-lib/inc/ucs_class.h
diff options
context:
space:
mode:
authorRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-12 11:17:04 +0200
committerRonan Le Martret <ronan.lemartret@iot.bzh>2017-06-29 14:40:09 +0200
commitec59d20bafb3acaaff2bbcab185a074825319e20 (patch)
tree2262fa512acadeb1dfa68bad7b2bb5a5c7de2467 /ucs2-lib/inc/ucs_class.h
parenta57c0b35c05c84f31ec09d3ac46b298555aa0cfb (diff)
Update package
* use sub module for ucs2-lib (tmp fork from IoT.bzh github) * add packaging for native build Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
Diffstat (limited to 'ucs2-lib/inc/ucs_class.h')
-rw-r--r--ucs2-lib/inc/ucs_class.h297
1 files changed, 0 insertions, 297 deletions
diff --git a/ucs2-lib/inc/ucs_class.h b/ucs2-lib/inc/ucs_class.h
deleted file mode 100644
index 8cfa5b9..0000000
--- a/ucs2-lib/inc/ucs_class.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*------------------------------------------------------------------------------------------------*/
-/* UNICENS V2.1.0-3491 */
-/* Copyright (c) 2017 Microchip Technology Germany II GmbH & Co. KG. */
-/* */
-/* This program is free software: you can redistribute it and/or modify */
-/* it under the terms of the GNU General Public License as published by */
-/* the Free Software Foundation, either version 2 of the License, or */
-/* (at your option) any later version. */
-/* */
-/* This program is distributed in the hope that it will be useful, */
-/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
-/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
-/* GNU General Public License for more details. */
-/* */
-/* You should have received a copy of the GNU General Public License */
-/* along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* */
-/* You may also obtain this software under a propriety license from Microchip. */
-/* Please contact Microchip for further information. */
-/*------------------------------------------------------------------------------------------------*/
-
-/*!
- * \file
- * \brief Internal header file of UNICENS API class
- * \cond UCS_INTERNAL_DOC
- * \addtogroup G_UCS_CLASS
- * @{
- */
-#ifndef UCS_CLASS_H
-#define UCS_CLASS_H
-
-/*------------------------------------------------------------------------------------------------*/
-/* Includes */
-/*------------------------------------------------------------------------------------------------*/
-#include "ucs_class_pb.h"
-#include "ucs_base.h"
-#include "ucs_pmfifo.h"
-#include "ucs_pmchannel.h"
-#include "ucs_pmevent.h"
-#include "ucs_transceiver.h"
-#include "ucs_factory.h"
-#include "ucs_rtm.h"
-#include "ucs_epm.h"
-#include "ucs_net.h"
-#include "ucs_attach.h"
-#include "ucs_nodedis.h"
-#include "ucs_bc_diag.h"
-#include "ucs_sys_diag.h"
-#include "ucs_prog.h"
-#include "ucs_exc.h"
-#include "ucs_smm.h"
-#include "ucs_amd.h"
-#include "ucs_cmd.h"
-#include "ucs_mgr.h"
-#include "ucs_nodeobserver.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-/*------------------------------------------------------------------------------------------------*/
-/* Types */
-/*------------------------------------------------------------------------------------------------*/
-/*! \brief Assignable callback function which is invoked to filter Rx messages
- * \details Filtering is a synchronous operation. Hence, it is not possible to keep a message
- * object for delayed processing. The invoked function has to decide whether a
- * message shall be discarded and freed to the Rx pool. Therefore, it has to return
- * \c true. By returning \ false, the message will be received in the usual way.
- * \param tel_ptr Reference to the message object
- * \param user_ptr User reference provided in \ref Ucs_InitData_t "Ucs_InitData_t::user_ptr"
- * \return Returns \c true to discard the message and free it to the pool (no-pass). Otherwise, returns
- * \c false (pass).
- */
-typedef bool (*Ucs_RxFilterCb_t)(Msg_MostTel_t *tel_ptr, void *user_ptr);
-
-/*! \brief This structure holds instance and related parameters of the base component */
-typedef struct Ucs_GeneralData_
-{
- /*! \brief Instance of the Base component */
- CBase base;
- /*! \brief Application callback to request UNICENS service calls */
- Ucs_RequestServiceCb_t request_service_fptr;
- /*! \brief Observer to proxy callback request_service_fptr() */
- CSingleObserver service_request_obs;
- /*! \brief Application callback to report general errors */
- Ucs_ErrorCb_t general_error_fptr;
- /*! \brief Observer to proxy callback general_error_fptr() */
- CSingleObserver general_error_obs;
- /*! \brief Application callback to request the current tick count value */
- Ucs_GetTickCountCb_t get_tick_count_fptr;
- /*! \brief Observer to proxy callback get_tick_count_fptr() */
- CSingleObserver get_tick_count_obs;
- /*! \brief Application callback to start the application timer needed for UNICENS event triggered service call. */
- Ucs_SetAppTimerCb_t set_application_timer_fptr;
- /*! \brief Observer to proxy callback set_application_timer_fptr() */
- CSingleObserver set_application_timer_obs;
-
-} Ucs_GeneralData_t;
-
-/*! \brief This structure holds the reference to the local FBlock INIC instance and related parameters */
-typedef struct Ucs_InicData_
-{
- /*! \brief Reference to the local Instance of the FBlock INIC component */
- CInic* local_inic;
- /*! \brief Instance of the Attach service */
- CAttachService attach;
- /*! \brief Observer to proxy callback power_state_fptr() */
- CObserver device_status_obs;
- /*! \brief The last known power state, required since no masked observer is available */
- Ucs_Inic_PowerState_t power_state;
-
-} Ucs_InicData_t;
-
-/*! \brief This structure holds the Resources Management callback functions */
-typedef struct Ucs_UcsXrm_
-{
- /*! \brief Callback function that reports streaming-related information for the MOST Network
- * Port, including the state of the port and available streaming bandwidth.
- */
- Ucs_Xrm_Most_PortStatusCb_t most_port_status_fptr;
- /*! \brief Observer to proxy callback most_port_status_fptr() */
- CObserver most_port_status_obs;
-
-} Ucs_UcsXrm_t;
-
-/*! \brief This structure holds the Network Management instance and related parameters */
-typedef struct Ucs_NetData_
-{
- /*! \brief Instance of the Network Management */
- CNetworkManagement inst;
- /*! \brief Application callback for NetworkStartup() */
- Ucs_StdResultCb_t startup_fptr;
- /*! \brief Observer to proxy callback startup_fptr() */
- CSingleObserver startup_obs;
- /*! \brief Application callback for NetworkShutdown() */
- Ucs_StdResultCb_t shutdown_fptr;
- /*! \brief Observer to proxy callback shutdown_fptr() */
- CSingleObserver shutdown_obs;
- /*! \brief Application callback for NetworkForceNotAvailable() */
- Ucs_StdResultCb_t force_na_fptr;
- /*! \brief Observer to proxy callback force_na_fptr() */
- CSingleObserver force_na_obs;
- /*! \brief Application callback for NetworkFrameCounterGet() */
- Ucs_Network_FrameCounterCb_t frame_counter_fptr;
- /*! \brief Observer to proxy callback frame_counter_fptr() */
- CSingleObserver frame_counter_obs;
- /*! \brief Application callback to report network status */
- Ucs_Network_StatusCb_t status_fptr;
- /*! \brief Observer to proxy callback status_fptr() */
- CMaskedObserver status_obs;
-#if 0
- /*! \brief Application callback for NetworkForceNotAvailable() */
- Ucs_StdResultCb_t force_na_fptr;
- /*! \brief Observer to proxy callback force_na_fptr() */
- CSingleObserver force_na_obs;
-#endif
-
-} Ucs_NetData_t;
-
-#if 0
-/*! \brief This structure holds attach process related parameters */
-typedef struct Ucs_AtsData_
-{
- /*! \brief Instance of the Attach service */
- CAttachService inst;
- /*! \brief Function pointer to start the attach process */
- /* Ucs_StartAttachCb_t start_attach_fptr; */
- /*! \brief Reference to instance used during the attach process */
- /*void *attach_inst_ptr;*/
-
-} Ucs_AtsData_t;
-#endif
-
-typedef struct Ucs_MsgData_
-{
- /*! \brief The MCM FIFO */
- CPmFifo mcm_fifo;
- /*! \brief The MCM communication module */
- CTransceiver mcm_transceiver;
- /*! \brief Application message distributor */
- CAmd amd;
- /*! \brief Memory allocator required for the application message service */
- Ams_MemAllocator_t ams_allocator;
- /*! \brief Application message pool */
- CAmsMsgPool ams_pool;
- /*! \brief Application message service */
- CAms ams;
- /*! \brief Static memory management */
- CStaticMemoryManager smm;
- /*! \brief Observer to proxy callback tx_message_freed_fptr() */
- CObserver ams_tx_freed_obs;
- /*! \brief Signals that tx_message_freed_fptr() must be called as soon as
- * a Tx message object is freed the next time.
- */
- bool ams_tx_alloc_failed;
- /*! \brief Command Interpreter */
- CCmd cmd;
-
-} Ucs_MsgData_t;
-
-
-/*------------------------------------------------------------------------------------------------*/
-/* Internal Class */
-/*------------------------------------------------------------------------------------------------*/
-/*! \brief The class CUcs representing the UNICENS API */
-typedef struct CUcs_
-{
- /*! \brief Stores the instance id, which is generated by Ucs_CreateInstance() */
- uint8_t ucs_inst_id;
- /*! \brief User reference that needs to be passed in every callback function */
- void *ucs_user_ptr;
- /*! \brief Backup of initialization data */
- Ucs_InitData_t init_data;
- /*! \brief Stores the init result callback function */
- Ucs_InitResultCb_t init_result_fptr;
- /*! \brief Observer to proxy callback init_result_fptr() */
- CSingleObserver init_result_obs;
- /*! \brief Stores the result callback function for Ucs_Stop() */
- Ucs_StdResultCb_t uninit_result_fptr;
- /*! \brief Observer to proxy callback uninit_result_fptr() */
- CMaskedObserver uninit_result_obs;
- /*! \brief General data required for base component */
- Ucs_GeneralData_t general;
-
- /*! \brief Instance of port message channel (service) */
- CPmChannel pmch;
- /*! \brief Instance of port message event handler */
- CPmEventHandler pme;
- /*! \brief Instance of port message FIFOs */
- CPmFifos fifos;
- /*! \brief The ICM FIFO */
- CPmFifo icm_fifo;
- /*! \brief The RCM FIFO */
- CPmFifo rcm_fifo;
- /*! \brief The ICM communication module */
- CTransceiver icm_transceiver;
- /*! \brief The RCM communication module */
- CTransceiver rcm_transceiver;
- /*! \brief Factory component instance */
- CFactory factory;
- /*! \brief INIC Resources Management callbacks functions */
- Ucs_UcsXrm_t xrm;
- /*!< \brief The XRM Pool instance */
- CXrmPool xrmp;
- /*!< \brief The Routes Management instance */
- CRouteManagement rtm;
- /*!< \brief The EndPoints Management instance */
- CEndpointManagement epm;
- /*! \brief FBlock INIC instance and related parameters */
- Ucs_InicData_t inic;
- /*! \brief Network Management instance and related parameters */
- Ucs_NetData_t net;
- /*! \brief FBlock EXC component instance and related parameters */
- CExc exc;
- /*! \brief System diagnosis component instance and related parameters */
- CSysDiag sys_diag;
- /*! \brief Node Discovery instance and related parameters */
- CNodeDiscovery nd;
- /*! \brief BackChannel Diagnosis instance and related parameters */
- CBackChannelDiag bcd;
- /*! \brief Programming Interface instance and parameters */
- CProgramming prg;
- /*! \brief Application Message related Data */
- Ucs_MsgData_t msg;
- /*! \brief The manager instance */
- CManager mgr;
- /*! \brief The node observer instance */
- CNodeObserver nobs;
- /*! \brief Filter callback required for unit testing*/
- Ucs_RxFilterCb_t rx_filter_fptr;
-
- /*! \brief Is \c true if initialization completed successfully */
- bool init_complete;
-
-} CUcs;
-
-/*------------------------------------------------------------------------------------------------*/
-/* Unit tests only */
-/*------------------------------------------------------------------------------------------------*/
-extern void Ucs_AssignRxFilter(Ucs_Inst_t *self, Ucs_RxFilterCb_t callback_fptr);
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif
-
-#endif /* UCS_CLASS_H */
-
-/*!
- * @}
- * \endcond
- */
-
-/*------------------------------------------------------------------------------------------------*/
-/* End of file */
-/*------------------------------------------------------------------------------------------------*/
-