Loading...
Searching...
No Matches
protocol_group_base.h
1#pragma once
2
3#include <stdbool.h>
4#include <flipper_format.h>
5
6#include "protocol_common_i.h"
7
8typedef void iButtonProtocolGroupData;
9typedef int32_t iButtonProtocolGroupId;
10
11typedef iButtonProtocolGroupData* (*iButtonProtocolGroupAllocFunc)(void);
12
13typedef void (*iButtonProtocolGroupFreeFunc)(iButtonProtocolGroupData*);
14
15typedef void (*iButtonProtocolGroupRenderFunc)(
16 iButtonProtocolGroupData*,
17 const iButtonProtocolData*,
18 iButtonProtocolLocalId,
19 FuriString*);
20
21typedef bool (*iButtonProtocolGroupIsValidFunc)(
22 iButtonProtocolGroupData*,
23 const iButtonProtocolData*,
24 iButtonProtocolLocalId);
25
32typedef bool (*iButtonProtocolGroupIsWritableFunc)(
33 iButtonProtocolGroupData*,
34 const iButtonProtocolData*,
35 iButtonProtocolLocalId);
36
37typedef void (*iButtonProtocolGroupGetDataFunc)(
38 iButtonProtocolGroupData*,
39 iButtonProtocolData*,
40 iButtonProtocolLocalId,
42
43typedef void (*iButtonProtocolGroupApplyFunc)(
44 iButtonProtocolGroupData*,
45 iButtonProtocolData*,
46 iButtonProtocolLocalId);
47
48typedef size_t (*iButtonProtocolGropuGetSizeFunc)(iButtonProtocolGroupData*);
49
50typedef uint32_t (
51 *iButtonProtocolGroupGetFeaturesFunc)(iButtonProtocolGroupData*, iButtonProtocolLocalId);
52
53typedef const char* (
54 *iButtonProtocolGroupGetStringFunc)(iButtonProtocolGroupData*, iButtonProtocolLocalId);
55
56typedef bool (*iButtonProtocolGroupGetIdFunc)(
57 iButtonProtocolGroupData*,
58 iButtonProtocolLocalId*,
59 const char*);
60
61typedef bool (*iButtonProtocolGroupReadFunc)(
62 iButtonProtocolGroupData*,
63 iButtonProtocolData*,
64 iButtonProtocolLocalId*);
65
66typedef bool (*iButtonProtocolGroupWriteFunc)(
67 iButtonProtocolGroupData*,
68 iButtonProtocolData*,
69 iButtonProtocolLocalId);
70
71typedef bool (*iButtonProtocolGroupSaveFunc)(
72 iButtonProtocolGroupData*,
73 const iButtonProtocolData*,
74 iButtonProtocolLocalId,
76
77typedef bool (*iButtonProtocolGroupLoadFunc)(
78 iButtonProtocolGroupData*,
79 iButtonProtocolData*,
80 iButtonProtocolLocalId,
81 uint32_t,
83
84typedef struct {
85 const uint32_t protocol_count;
86
87 iButtonProtocolGroupAllocFunc alloc;
88 iButtonProtocolGroupFreeFunc free;
89
90 iButtonProtocolGropuGetSizeFunc get_max_data_size;
91 iButtonProtocolGroupGetIdFunc get_id_by_name;
92 iButtonProtocolGroupGetFeaturesFunc get_features;
93
94 iButtonProtocolGroupGetStringFunc get_manufacturer;
95 iButtonProtocolGroupGetStringFunc get_name;
96
97 iButtonProtocolGroupReadFunc read;
98 iButtonProtocolGroupWriteFunc write_id;
99 iButtonProtocolGroupWriteFunc write_copy;
100
101 iButtonProtocolGroupApplyFunc emulate_start;
102 iButtonProtocolGroupApplyFunc emulate_stop;
103
104 iButtonProtocolGroupSaveFunc save;
105 iButtonProtocolGroupLoadFunc load;
106
107 iButtonProtocolGroupRenderFunc render_uid;
108 iButtonProtocolGroupRenderFunc render_data;
109 iButtonProtocolGroupRenderFunc render_brief_data;
110 iButtonProtocolGroupRenderFunc render_error;
111
112 iButtonProtocolGroupIsValidFunc is_valid;
113 iButtonProtocolGroupIsWritableFunc is_writable;
114 iButtonProtocolGroupGetDataFunc get_editable_data;
115
116 iButtonProtocolGroupApplyFunc apply_edits;
Flipper File Format helper library.
Definition flipper_format.c:17
Definition string.c:4
Definition protocol_common.h:18
Definition protocol_group_base.h:84