StatusResponse CommandInterface::ParseStatusResponse(const CommandResponse &res) { StatusResponse result; lnh_equ_posn equ_posn = {{0, 0, 0}, {0, 0, 0, 0}}; HMS ra{}; DMS dec(res.payload.at("DEC")); std::stringstream ss{res.payload.at("RA")}; ss >> ra; equ_posn.ra = ra; equ_posn.dec = dec; result.equ = {0, 0}; ln_hequ_to_equ(&equ_posn, &result.equ); result.state = ParseState(res.payload.at("STATE")); result.executing_goto = res.payload.at("GOTO") == "1"; return result; }
AutoUTF Panel::Info(WinTS::iterator cur) { AutoUTF ret(L"Id: "); ret += Num2Str((size_t)cur->id()); ret += L"\n\n"; ret += L"User name: "; ret += cur->user(); ret += L"\n\n"; ret += L"State: "; ret += ParseState(cur->state()); ret += L"\n\n"; ret += L"Session: "; ret += cur->sess(); ret += L"\n\n"; ret += L"WinStation: "; ret += cur->winSta(); ret += L"\n\n"; ret += L"Client: "; ret += cur->client(); ret += L"\n\n"; return ret; }
int Panel::GetFindData(PluginPanelItem **pPanelItem, int *pItemsNumber, int /*OpMode*/) { *pPanelItem = nullptr; *pItemsNumber = 0; try { m_ts.Cache(m_conn->host()); WinMem::Alloc(*pPanelItem, sizeof(**pPanelItem) * m_ts.size()); *pItemsNumber = m_ts.size(); int i = 0; for (WinTS::iterator it = m_ts.begin(); it != m_ts.end(); ++it) { WinTSInfo &info = *it; (*pPanelItem)[i].FindData.lpwszFileName = info.user().c_str(); (*pPanelItem)[i].FindData.lpwszAlternateFileName = info.user().c_str(); (*pPanelItem)[i].FindData.nFileSize = info.id(); (*pPanelItem)[i].Description = ParseState(info.state()); (*pPanelItem)[i].Owner = info.sess().c_str(); if (info.is_disconnected()) (*pPanelItem)[i].FindData.dwFileAttributes = FILE_ATTRIBUTE_HIDDEN; PCWSTR *CustomColumnData; WinMem::Alloc(CustomColumnData, 1 * sizeof(PCWSTR)); if (CustomColumnData) { CustomColumnData[0] = info.client().c_str(); (*pPanelItem)[i].CustomColumnData = CustomColumnData; (*pPanelItem)[i].CustomColumnNumber = 1; } (*pPanelItem)[i].UserData = i; ++i; } } catch (WinError &e) { farebox_code(e.code(), e.where().c_str()); } return true; }
static function_t *ParseImmediateStatements (type_t *type) { int i; function_t *f; def_t *defs[MAX_PARMS]; def_t *scopeDef; def_t *searchDef; f = (function_t *) malloc(sizeof(function_t)); // Check for builtin function definition if (TK_CHECK(TK_COLON)) { if (pr_token_type != tt_immediate || pr_immediate_type != &type_float || pr_immediate._float != (int)pr_immediate._float) { PR_ParseError("bad builtin immediate"); } f->builtin = (int)pr_immediate._float; LX_Fetch(); return f; } f->builtin = 0; // Define the parms for (i = 0; i < type->num_parms; i++) { defs[i] = PR_GetDef(type->parm_types[i], pr_parm_names[i], pr_scope, true); f->parm_ofs[i] = defs[i]->ofs; if (i > 0 && f->parm_ofs[i] < f->parm_ofs[i-1]) { PR_ParseError("bad parm order"); } } f->code = numstatements; // Check for a state opcode if (TK_CHECK(TK_LBRACKET)) { ParseState(); } // Check for regular statements st_ReturnType = type->aux_type; st_ReturnParsed = false; if (TK_CHECK(TK_LBRACE)) { scopeDef = pr_scope; searchDef = pr.def_tail; while (pr_tokenclass != TK_RBRACE) { ST_ParseStatement(); } while ((searchDef = searchDef->next) != NULL) { if (searchDef->scope == scopeDef && searchDef->referenceCount == 0 && searchDef->parentVector == NULL) { PR_ParseWarning("unreferenced local variable '%s'", searchDef->name); } } if (type->aux_type->type != ev_void && st_ReturnParsed == false) { PR_ParseError("missing return"); } LX_Fetch(); } else if (type->aux_type->type != ev_void && st_ReturnParsed == false) { PR_ParseError("missing return"); } // Emit an end of statements opcode CO_GenCode(pr_opcodes, 0, 0); return f; }