VSF Documented
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
vsf_msg_tree.h File Reference
#include "osa_service/vsf_osa_service_cfg.h"
#include "kernel/vsf_kernel.h"
#include "utilities/ooc_class.h"

Go to the source code of this file.

Data Structures

struct  vsf_msgt_subcall_t
 
struct  vsf_msgt_handler_t
 

Macros

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__
 
#define VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING   DISABLED
 
#define VSF_MSGT_NODE_OFFSET_TYPE   int16_t
 
#define VSF_MSG_TREE_CFG_SUPPORT_DUAL_LIST   DISABLED
 

Typedefs

typedef VSF_MSGT_NODE_OFFSET_TYPE vsf_msgt_node_offset_t
 
typedef enum vsf_msgt_node_status_t vsf_msgt_node_status_t
 
typedef enum vsf_msgt_handler_type_t vsf_msgt_handler_type_t
 
typedef bool vsf_msgt_method_shoot_t(const vsf_msgt_node_t *, uintptr_t)
 
typedef vsf_msgt_node_status_t vsf_msgt_method_status_t(vsf_msgt_node_t *)
 
typedef fsm_rt_t vsf_msgt_method_fsm_t(vsf_msgt_node_t *node_ptr, vsf_msgt_msg_t *msg_ptr)
 
typedef struct vsf_msgt_subcall_t vsf_msgt_subcall_t
 
typedef struct vsf_msgt_handler_t vsf_msgt_handler_t
 

Enumerations

enum  vsf_msgt_node_status_t {
  __VSF_MSGT_NODE_STATUS_LEAST_MAX = INT16_MAX ,
  __VSF_MSGT_NODE_STATUS_LEAST_MIN = INT16_MIN ,
  VSF_MSGT_NODE_VALID = VSF_BIT(0) ,
  VSF_MSGT_NODE_ENABLED = VSF_BIT(1) ,
  VSF_MSGT_NODE_VISIBLE = VSF_BIT(2) ,
  VSF_MSGT_NODE_ACTIVE = VSF_BIT(3) ,
  VSF_MSGT_NODE_HIDE_CONTENT = VSF_BIT(4)
}
 
enum  vsf_msgt_handler_type_t {
  VSF_MSGT_NODE_HANDLER_TYPE_CALLBACK = 0 ,
  VSF_MSGT_NODE_HANDLER_TYPE_FSM = 0 ,
  VSF_MSGT_NODE_HANDLER_TYPE_SUBCALL ,
  VSF_MSGT_NODE_HANDLER_TYPE_EDA
}
 
enum  vsf_msgt_err_t {
  VSF_MSGT_ERR_REUQEST_VISIT_AGAIN = fsm_rt_user ,
  VSF_MSGT_ERR_REQUEST_VISIT_PARENT ,
  VSF_MSGT_ERR_NONE = 0 ,
  VSF_MSGT_ERR_MSG_NOT_HANDLED = -1
}
 

Functions

 declare_vsf_rng_buf (__bfs_node_fifo_t) def_vsf_rng_buf(__bfs_node_fifo_t
 
 def_structure (vsf_msgt_cfg_t) const i_msg_tree_node_t *interface_ptr
 
 end_def_structure (vsf_msgt_cfg_t) declare_class(vsf_msgt_t) def_class(vsf_msgt_t
 

Variables

 __vsf_msgt_msg_handling_fsm_t
 
uint8_t type_num
 
the base class for all other tree messages
 vsf_msgt_msg_t
 
abstract class for message tree node
union { 
 
   struct { 
 
      uint8_t   is_visited: 1 
 
      uint8_t   : 4 
 
      uint8_t   is_top: 1 
 
      uint8_t   is_transparent: 1 
 used together with is_container More...
 
      uint8_t   is_container: 1 
 whether it is a container or not More...
 
   }   _ 
 
   uint8_t   value 
 
Attribute 
 
vsf_msgt_container_t * parent_ptr
 parent node
 
struct { 
 
   vsf_msgt_node_offset_t   previous 
 
   vsf_msgt_node_offset_t   next 
 
Offset 
 
const char * node_name_ptr
 

v-table for tree message node

vsf_msgt_method_status_tStatus
 get status of target node
 
vsf_msgt_method_shoot_tShoot
 range check
 
 declare_interface (i_msg_tree_node_t) def_interface(i_msg_tree_node_t) vsf_msgt_handler_t msg_handler
 

Macro Definition Documentation

◆ __PLOOC_CLASS_USE_STRICT_TEMPLATE__

#define __PLOOC_CLASS_USE_STRICT_TEMPLATE__

\NOTE: Make sure #include "utilities/ooc_class.h" is close to the class ! definition and there is NO ANY OTHER module-interface-header file ! included in this file

◆ VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING

#define VSF_MSG_TREE_CFG_SUPPORT_NAME_STRING   DISABLED

◆ VSF_MSGT_NODE_OFFSET_TYPE

#define VSF_MSGT_NODE_OFFSET_TYPE   int16_t

◆ VSF_MSG_TREE_CFG_SUPPORT_DUAL_LIST

#define VSF_MSG_TREE_CFG_SUPPORT_DUAL_LIST   DISABLED

Typedef Documentation

◆ vsf_msgt_node_offset_t

◆ vsf_msgt_node_status_t

◆ vsf_msgt_handler_type_t

◆ vsf_msgt_method_shoot_t

typedef bool vsf_msgt_method_shoot_t(const vsf_msgt_node_t *, uintptr_t)

◆ vsf_msgt_method_status_t

typedef vsf_msgt_node_status_t vsf_msgt_method_status_t(vsf_msgt_node_t *)

◆ vsf_msgt_method_fsm_t

typedef fsm_rt_t vsf_msgt_method_fsm_t(vsf_msgt_node_t *node_ptr, vsf_msgt_msg_t *msg_ptr)

◆ vsf_msgt_subcall_t

◆ vsf_msgt_handler_t

Enumeration Type Documentation

◆ vsf_msgt_node_status_t

Enumerator
__VSF_MSGT_NODE_STATUS_LEAST_MAX 
__VSF_MSGT_NODE_STATUS_LEAST_MIN 
VSF_MSGT_NODE_VALID 

whether the node is valid/initialised or not

VSF_MSGT_NODE_ENABLED 

whether the node is enabled or not

VSF_MSGT_NODE_VISIBLE 

whether the node is visible

VSF_MSGT_NODE_ACTIVE 
VSF_MSGT_NODE_HIDE_CONTENT 

whether hide the content inside container

◆ vsf_msgt_handler_type_t

Enumerator
VSF_MSGT_NODE_HANDLER_TYPE_CALLBACK 

use normal callback

VSF_MSGT_NODE_HANDLER_TYPE_FSM 

use fsm (same as normal callback)

VSF_MSGT_NODE_HANDLER_TYPE_SUBCALL 

eda sub call (pt subcall)

VSF_MSGT_NODE_HANDLER_TYPE_EDA 

pass msg to eda

◆ vsf_msgt_err_t

Enumerator
VSF_MSGT_ERR_REUQEST_VISIT_AGAIN 
VSF_MSGT_ERR_REQUEST_VISIT_PARENT 
VSF_MSGT_ERR_NONE 
VSF_MSGT_ERR_MSG_NOT_HANDLED 

Function Documentation

◆ declare_vsf_rng_buf()

declare_vsf_rng_buf ( __bfs_node_fifo_t  )

◆ declare_interface()

declare_interface ( i_msg_tree_node_t  )

◆ def_structure()

def_structure ( vsf_msgt_cfg_t  ) const

◆ end_def_structure()

end_def_structure ( vsf_msgt_cfg_t  )

Variable Documentation

◆ vsf_msgt_msg_t

typedef struct vsf_msgt_msg_t

< the tree message which should larger than VSF_EVT_USER

◆ Status

get status of target node

◆ Shoot

range check

◆ is_visited

uint8_t is_visited

◆ __pad0__

uint8_t __pad0__

◆ is_top

uint8_t is_top

◆ is_transparent

uint8_t is_transparent

used together with is_container

◆ is_container

uint8_t is_container

whether it is a container or not

◆ [struct]

struct { ... } _

◆ value

uint8_t value

◆ [union]

union { ... } Attribute

◆ parent_ptr

vsf_msgt_container_t* parent_ptr

parent node

◆ previous

◆ next

◆ [struct]

struct { ... } Offset

◆ node_name_ptr

const char* node_name_ptr

◆ __vsf_msgt_msg_handling_fsm_t

typedef struct __vsf_msgt_msg_handling_fsm_t

◆ type_num

uint8_t type_num

◆ state

uint8_t state

◆ msg_handling

◆ is_support_container_post_handling

bool is_support_container_post_handling

◆ fifo

__bfs_node_fifo_t fifo