Line data Source code
1 : enum {
2 : ppg_cs_layer_0 = 0
3 : };
4 :
5 : #define PPG_CS_INPUT_FROM_CHAR(CHAR) \
6 : (CHAR - 'a')
7 :
8 : #define PPG_CS_ALPH_CASE(LOWER_CASE_QUOTED, UPPER_CASE_QUOTED, ID) \
9 : case LOWER_CASE_QUOTED: \
10 : case UPPER_CASE_QUOTED: \
11 : return LOWER_CASE_QUOTED;
12 :
13 : #ifndef PPG_CS_READ_COMPRESSED_CONTEXT
14 :
15 114 : static PPG_Input_Id ppg_cs_input_from_alphabetic_character(char c) {
16 :
17 114 : switch(c) {
18 36 : PPG_CS_ALPH_CASE('a', 'A', A)
19 12 : PPG_CS_ALPH_CASE('b', 'B', B)
20 0 : PPG_CS_ALPH_CASE('c', 'C', C)
21 6 : PPG_CS_ALPH_CASE('d', 'D', D)
22 0 : PPG_CS_ALPH_CASE('e', 'E', E)
23 6 : PPG_CS_ALPH_CASE('f', 'F', F)
24 0 : PPG_CS_ALPH_CASE('g', 'G', G)
25 0 : PPG_CS_ALPH_CASE('h', 'H', H)
26 0 : PPG_CS_ALPH_CASE('i', 'I', I)
27 0 : PPG_CS_ALPH_CASE('j', 'J', J)
28 6 : PPG_CS_ALPH_CASE('k', 'K', K)
29 6 : PPG_CS_ALPH_CASE('l', 'L', L)
30 0 : PPG_CS_ALPH_CASE('m', 'M', M)
31 6 : PPG_CS_ALPH_CASE('n', 'N', N)
32 12 : PPG_CS_ALPH_CASE('o', 'O', O)
33 0 : PPG_CS_ALPH_CASE('p', 'P', P)
34 0 : PPG_CS_ALPH_CASE('q', 'Q', Q)
35 12 : PPG_CS_ALPH_CASE('r', 'R', R)
36 0 : PPG_CS_ALPH_CASE('s', 'S', S)
37 6 : PPG_CS_ALPH_CASE('t', 'T', T)
38 6 : PPG_CS_ALPH_CASE('u', 'U', U)
39 0 : PPG_CS_ALPH_CASE('v', 'V', V)
40 0 : PPG_CS_ALPH_CASE('w', 'W', W)
41 0 : PPG_CS_ALPH_CASE('x', 'X', X)
42 0 : PPG_CS_ALPH_CASE('y', 'Y', Y)
43 0 : PPG_CS_ALPH_CASE('z', 'Z', Z)
44 : }
45 :
46 0 : return 0;
47 : }
48 :
49 18 : static void ppg_cs_retreive_string(uint8_t sequence_id,
50 : char *buffer,
51 : uint8_t max_chars)
52 : {
53 18 : switch(sequence_id) {
54 : case 0:
55 6 : strcpy(buffer, "foo");
56 6 : break;
57 : case 1:
58 6 : strcpy(buffer, "bar");
59 6 : break;
60 : case 2:
61 6 : strcpy(buffer, "Klaatubaradan");
62 6 : break;
63 : }
64 18 : }
65 :
66 18 : static PPG_Action ppg_cs_retreive_action(uint8_t sequence_id)
67 : {
68 18 : return (PPG_Action) {
69 : .callback = (PPG_Action_Callback) {
70 : .func = (PPG_Action_Callback_Fun)ppg_cs_process_action,
71 :
72 : // The first three actions are reserved
73 : //
74 18 : .user_data = (void*)(uintptr_t)(sequence_id + 3)
75 : }
76 : };
77 : }
78 :
79 : #endif // #ifndef PPG_CS_READ_COMPRESSED_CONTEXT
|