void CDMProxy::OnRejectPromise(uint32_t aPromiseId, nsresult aDOMException, const nsAString& aMsg) { MOZ_ASSERT(NS_IsMainThread()); RejectPromise(aPromiseId, aDOMException); LogToConsole(aMsg); }
void VLog(LogLevel level, const char *fmt, va_list ap) { LoggingContext *lctx = GetCurrentThreadContext(); char *msg = StringVFormat(fmt, ap); char *hooked_msg = NULL; for (char *sp = msg; *sp != '\0'; sp++) { if (*sp == '\n' && *(sp+1) == '\0') { *sp = '\0'; break; } } if (lctx->pctx && lctx->pctx->log_hook) { hooked_msg = lctx->pctx->log_hook(lctx->pctx, level, msg); } else { hooked_msg = xstrdup(msg); } if (level <= lctx->report_level) { if (MACHINE_OUTPUT) { LogToConsole(hooked_msg, level, lctx->color); } else { LogToConsole(msg, level, lctx->color); } } if (level <= lctx->log_level && level < LOG_LEVEL_VERBOSE) { LogToSystemLog(hooked_msg, level); } free(msg); free(hooked_msg); }
void DetailedPromise::MaybeReject(nsresult aArg, const nsACString& aReason) { mResponded = true; LogToConsole(NS_ConvertUTF8toUTF16(aReason)); nsRefPtr<DOMException> exception = DOMException::Create(aArg, aReason); Promise::MaybeRejectBrokenly(exception); }
void VLog(LogLevel level, const char *fmt, va_list ap) { LoggingContext *lctx = GetCurrentThreadContext(); bool log_to_console = ( level <= lctx->report_level ); bool log_to_syslog = ( level <= lctx->log_level && level < LOG_LEVEL_VERBOSE ); bool force_hook = ( lctx->pctx && lctx->pctx->log_hook && lctx->pctx->force_hook_level >= level ); if (!log_to_console && !log_to_syslog && !force_hook) { return; /* early return - save resources */ } char *msg = StringVFormat(fmt, ap); char *hooked_msg = NULL; /* Remove ending EOLN. */ for (char *sp = msg; *sp != '\0'; sp++) { if (*sp == '\n' && *(sp+1) == '\0') { *sp = '\0'; break; } } if (lctx->pctx && lctx->pctx->log_hook) { hooked_msg = lctx->pctx->log_hook(lctx->pctx, level, msg); } else { hooked_msg = msg; } if (log_to_console) { LogToConsole(hooked_msg, level, lctx->color); } if (log_to_syslog) { LogToSystemLog(hooked_msg, level); } if (hooked_msg != msg) { free(hooked_msg); } free(msg); }
void CDMProxy::OnSessionError(const nsAString& aSessionId, nsresult aException, uint32_t aSystemCode, const nsAString& aMsg) { MOZ_ASSERT(NS_IsMainThread()); nsRefPtr<dom::MediaKeySession> session(mKeys->GetSession(aSessionId)); if (session) { session->DispatchKeyError(aSystemCode); } LogToConsole(aMsg); }
int CKMotionIO::ServiceConsole() { int nbytes; int timeout; char buf[MAX_LINE]; if (KMotionLock() == KMOTION_LOCKED) // quick check if it is available { //if (!NumberBytesAvailToRead(&nbytes, false) && nbytes>0) //Instead of making one call with a long time out we first make a call with a short time out, //if data is read we need to check if we had a timeout and ask again with a greater value. timeout = ReadLineTimeOutRaw(buf,0); // likely we will get a timeout sometimes nbytes = strlen(buf); if(nbytes>0) { // some data in the buffer if(timeout){ //if previos call timed out we can try again with a longer timout adding read bytes to buffer pointer timeout = ReadLineTimeOutRaw(buf + nbytes ,100); } if (!timeout) { if (buf[0]==0x1b) // skip over esc if there is one LogToConsole(buf+1); else LogToConsole(buf); } } ReleaseToken(); } return 0; }
int CKMotionIO::ReadLineTimeOut(char *buf, int TimeOutms) { int result; bool Done; do { Done=true; result = ReadLineTimeOutRaw(buf, TimeOutms); if (result==0) { // check if first char is an ESC if (buf[0] == 0x1b) { // it is! // if next character is 1, 2, or 3 // handle it as a write file command if (buf[1] >=1 && buf[1] <=3) { // it is a disk command HandleDiskIO(buf+1); } else { // Send to console LogToConsole(buf+1); } Done=false; } } } while (!Done); return result; }
int CKMotionIO::CheckForReady() { char buf[257]; char *beg; char copy[257]; int nbytes, result; bool DetectedError=false; for (;;) { if (m_Connected) { if (!NumberBytesAvailToRead(&nbytes, true) && nbytes>0) { result = ReadLineTimeOutRaw(buf, 100); if (result==0) { // check if first char is an ESC if (buf[0] == 0x1b) beg=buf+1; else beg=buf; strncpy(copy,beg,255); _strupr(copy); // check for "Error" if (strstr(copy,"ERROR")!=NULL) { // error, send to console DetectedError=true; } // check for "Ready" if (strcmp(beg,"Ready\r\n")) { // no, strange send to console LogToConsole(beg); } else { // yes! send to console and return Ready LogToConsole(beg); if (DetectedError) return KMOTION_ERROR; // a line contained the word "error" else return KMOTION_READY; } } else { return KMOTION_TIMEOUT; // not a whole line for some reason } } else { return KMOTION_OK; // no data, return OK, not Ready } } else { return KMOTION_ERROR; // not connected return error } } return result; }