/* Opens a connection with BrlAPI's server */ static int brl_construct(BrailleDisplay *brl, char **parameters, const char *device) { brlapi_connectionSettings_t settings; settings.host = parameters[PARM_HOST]; settings.auth = parameters[PARM_AUTH]; CHECK((brlapi_openConnection(&settings, &settings)>=0), out); logMessage(LOG_DEBUG, "Connected to %s using %s", settings.host, settings.auth); CHECK((brlapi_enterTtyModeWithPath(NULL, 0, NULL)>=0), out0); logMessage(LOG_DEBUG, "Got tty successfully"); CHECK((brlapi_getDisplaySize(&brl->textColumns, &brl->textRows)==0), out1); logMessage(LOG_DEBUG,"Found out display size: %dx%d", brl->textColumns, brl->textRows); displaySize = brl->textColumns*brl->textRows; prevData = malloc(displaySize); CHECK((prevData!=NULL), out1); prevText = malloc(displaySize * sizeof(wchar_t)); CHECK((prevText!=NULL), out2); prevShown = 0; restart = 0; logMessage(LOG_DEBUG, "Memory allocated, returning 1"); return 1; out2: free(prevData); out1: brlapi_leaveTtyMode(); out0: brlapi_closeConnection(); out: logMessage(LOG_DEBUG, "Something went wrong, returning 0"); return 0; }
bool BDevice::disableAccessibilityMode() { if (this->accessibilityMode) if (brlapi_leaveTtyMode() >= 0) this->accessibilityMode = false; return (this->accessibilityMode); }