12 #include <wpi/StringRef.h>
14 #include "hal/Value.h"
20 typedef void (*CancelCallbackFunc)(int32_t index, int32_t uid);
21 typedef void (*CancelCallbackNoIndexFunc)(int32_t uid);
22 typedef void (*CancelCallbackChannelFunc)(int32_t index, int32_t channel,
25 void CallbackStoreThunk(
const char* name,
void* param,
const HAL_Value* value);
29 CallbackStore(int32_t i, NotifyCallback cb, CancelCallbackNoIndexFunc ccf) {
37 CancelCallbackFunc ccf) {
45 CallbackStore(int32_t i, int32_t c, int32_t u, NotifyCallback cb,
46 CancelCallbackChannelFunc ccf) {
61 cccf(index, channel, uid);
69 void SetUid(int32_t uid) { this->uid = uid; }
71 friend void CallbackStoreThunk(
const char* name,
void* param,
79 NotifyCallback callback;
81 CancelCallbackFunc ccf;
82 CancelCallbackChannelFunc cccf;
83 CancelCallbackNoIndexFunc ccnif;
85 enum CancelType { Normal, Channel, NoIndex };
86 CancelType cancelType;