Files
c_state_pattern/src/states/unlock_state.c
sirlilpanda d4e72630e9 init
2025-08-28 21:19:47 +12:00

38 lines
917 B
C

#include "state.h"
#include "../device.h"
#include <stdio.h>
#include <string.h>
const char name[] = __FILE_NAME__;
static void pressPwrMethod(Device_t *device) {
printf("turning off device\n");
setOffState(device);
}
static void pressStrInputMethod(Device_t *device) {
if (strcmp(device->entered_string, "dbg") == 0) {
printf("entering debug state\n");
setDebugState(device);
}
printf("unknown string %s\n", device->entered_string);
}
static void pressLockMethod(Device_t *device) {
printf("locking device\n");
setLockState(device);
}
void setUnlockState(Device_t *device) {
device->state = (DeviceState_t){
.state_name = name,
.device = device,
.methods = (DeviceInterface_t){
.pressPwr = &pressPwrMethod,
.pressStrInput = &pressStrInputMethod,
.pressLock = &pressLockMethod,
},
};
}