34 lines
905 B
C
34 lines
905 B
C
//
|
|
// Created by xemon on 01.11.22.
|
|
//
|
|
|
|
#ifndef XFC_TRANSPORT_PROTOCOL_XFCPROTTABLE_H
|
|
#define XFC_TRANSPORT_PROTOCOL_XFCPROTTABLE_H
|
|
|
|
#include "XfcProtProcessor.h"
|
|
|
|
typedef struct {
|
|
tXfcProtProcessor *items;
|
|
uint16_t count;
|
|
uint16_t limit;
|
|
} tXfcProtTable;
|
|
|
|
void XfcProtTable_Init(tXfcProtTable *env, tXfcProtProcessor *allocatedMem, uint16_t memLimit);
|
|
|
|
#define XfcProtTable_InitStatic(ENV, MEM) XfcProtTable_Init(ENV,MEM, sizeof(MEM) / sizeof(tXfcProtProcessor))
|
|
|
|
bool XfcProtTable_Add(
|
|
tXfcProtTable *env,
|
|
char *staticStringTextId,
|
|
uint8_t textIdLen,
|
|
tXfcProtMethod method,
|
|
void *args
|
|
);
|
|
|
|
#define XfcProtTable_AddStatic(ENV, TEXT_ID, METHOD, ARGS) XfcProtTable_Add(ENV, TEXT_ID,sizeof(TEXT_ID)-1,(tXfcProtMethod)METHOD, ARGS)
|
|
|
|
tXfcProtProcessor *XfcProtTable_GetForId(tXfcProtTable *env, uint16_t id);
|
|
|
|
|
|
#endif //XFC_TRANSPORT_PROTOCOL_XFCPROTTABLE_H
|