Вы объявляете переменную указателя функции для заданной сигнатуры ваших функций следующим образом:
bool (* fnptr)();
вы можете назначить ей одну из ваших функций:
fnptr = A;
и вы можете вызвать it:
bool result = fnptr();
Вы можете рассмотреть возможность использования typedefs для определения типа для каждой отдельной сигнатуры функции, которая вам нужна. Это облегчит чтение и обслуживание кода. то есть для сигнатуры функций, возвращающих bool без аргументов, это может быть:
typdef bool (* BoolFn)();
, и затем вы можете использовать вот так, чтобы объявить переменную-указатель функции для этого типа:
BoolFn fnptr;
Сервер может выдать исключение AuthenticationException клиенту в случае выхода пользователя из системы.
Это будет зафиксировано в методе обратного вызова onFailure, который затем может перенаправить пользователя на страницу входа.
Изменить:
AuthenticationException, конечно, не стандартное исключение, я просто привел пример. Возможно, лучше будет придерживаться стандартных исключений.
Чтобы попробовать, если вы поймали конкретное исключение, вы можете использовать оператор instanceof
public void onFailure(Throwable e) {
if(e instanceof AuthenticationException) {
redirecttoLogin();
}
else {
showError(),
}
}
Это не относится напрямую к тем, кто использует RPC, но для тем из вас, кто не использует RPC, следует отправить с сервера HTTP 401. Затем вы можете проверить этот код состояния в обратном вызове RequestBuilder.