6#include "protocol_common_i.h"
8typedef void iButtonProtocolGroupData;
9typedef int32_t iButtonProtocolGroupId;
11typedef iButtonProtocolGroupData* (*iButtonProtocolGroupAllocFunc)(void);
13typedef void (*iButtonProtocolGroupFreeFunc)(iButtonProtocolGroupData*);
15typedef void (*iButtonProtocolGroupRenderFunc)(
16 iButtonProtocolGroupData*,
17 const iButtonProtocolData*,
18 iButtonProtocolLocalId,
21typedef bool (*iButtonProtocolGroupIsValidFunc)(
22 iButtonProtocolGroupData*,
23 const iButtonProtocolData*,
24 iButtonProtocolLocalId);
32typedef bool (*iButtonProtocolGroupIsWritableFunc)(
33 iButtonProtocolGroupData*,
34 const iButtonProtocolData*,
35 iButtonProtocolLocalId);
37typedef void (*iButtonProtocolGroupGetDataFunc)(
38 iButtonProtocolGroupData*,
40 iButtonProtocolLocalId,
43typedef void (*iButtonProtocolGroupApplyFunc)(
44 iButtonProtocolGroupData*,
46 iButtonProtocolLocalId);
48typedef size_t (*iButtonProtocolGropuGetSizeFunc)(iButtonProtocolGroupData*);
51 *iButtonProtocolGroupGetFeaturesFunc)(iButtonProtocolGroupData*, iButtonProtocolLocalId);
54 *iButtonProtocolGroupGetStringFunc)(iButtonProtocolGroupData*, iButtonProtocolLocalId);
56typedef bool (*iButtonProtocolGroupGetIdFunc)(
57 iButtonProtocolGroupData*,
58 iButtonProtocolLocalId*,
61typedef bool (*iButtonProtocolGroupReadFunc)(
62 iButtonProtocolGroupData*,
64 iButtonProtocolLocalId*);
66typedef bool (*iButtonProtocolGroupWriteFunc)(
67 iButtonProtocolGroupData*,
69 iButtonProtocolLocalId);
71typedef bool (*iButtonProtocolGroupSaveFunc)(
72 iButtonProtocolGroupData*,
73 const iButtonProtocolData*,
74 iButtonProtocolLocalId,
77typedef bool (*iButtonProtocolGroupLoadFunc)(
78 iButtonProtocolGroupData*,
80 iButtonProtocolLocalId,
85 const uint32_t protocol_count;
87 iButtonProtocolGroupAllocFunc alloc;
88 iButtonProtocolGroupFreeFunc free;
90 iButtonProtocolGropuGetSizeFunc get_max_data_size;
91 iButtonProtocolGroupGetIdFunc get_id_by_name;
92 iButtonProtocolGroupGetFeaturesFunc get_features;
94 iButtonProtocolGroupGetStringFunc get_manufacturer;
95 iButtonProtocolGroupGetStringFunc get_name;
97 iButtonProtocolGroupReadFunc read;
98 iButtonProtocolGroupWriteFunc write_id;
99 iButtonProtocolGroupWriteFunc write_copy;
101 iButtonProtocolGroupApplyFunc emulate_start;
102 iButtonProtocolGroupApplyFunc emulate_stop;
104 iButtonProtocolGroupSaveFunc save;
105 iButtonProtocolGroupLoadFunc load;
107 iButtonProtocolGroupRenderFunc render_uid;
108 iButtonProtocolGroupRenderFunc render_data;
109 iButtonProtocolGroupRenderFunc render_brief_data;
110 iButtonProtocolGroupRenderFunc render_error;
112 iButtonProtocolGroupIsValidFunc is_valid;
113 iButtonProtocolGroupIsWritableFunc is_writable;
114 iButtonProtocolGroupGetDataFunc get_editable_data;
116 iButtonProtocolGroupApplyFunc apply_edits;