bool AFramework::MTempMaster::networkConfig(){ AString dataRcv; if(!m_flag){ return false; } msg("Configurazione\nRete..."); if(prepareAp(_MTEMP_SSID_AP, _MTEMP_PWD_AP, _MTEMP_PORT_AP)){ msg("In attesa di\nConnessioni...", 0); while(1){ if(m_wifi->waitForData(dataRcv)){ if(dataRcv.contains(_MTEMP_CONF)){ msg("Dati ricevuti,\nSalvataggio..."); if(saveNetworkConfig(dataRcv)){ msg("Salvataggio ok!", 0); if(m_wifi->send(_MTEMP_BOARD_OK)){ if(defaultProgram()){ msg("Avvio tra\n1 secondo..."); return true; }else{ msg("Errore!"); return false; } } }else{ m_wifi->send(_MTEMP_BOARD_FAIL); msg("Errore\nConfigurazione!"); return false; } } } } } }
/*! \brief Returns id of the default program that is capable to open given \a url. */ QString QDefaultProgram::defaultProgram(const QUrl &url) { QMimeDatabase db; QMimeType mimeType = db.mimeTypeForUrl(url); // if (!mimeType.isValid()) // return; // QMimeType mt = mimeType; // while (mt.isValid()) { // qDebug() << mt.name(); // qDebug() << QDefaultProgram::defaultProgram(mt.name()); // if (mt.parentMimeTypes().isEmpty()) // break; // mt = db.mimeTypeForName(mt.parentMimeTypes().first()); // } return defaultProgram(mimeType.name()); }
static void fillDefaultOptions() { char tmp[1024]; char *defcxx = PROG_CXX; defaultProgram(&cc, PROG_CC); if ( streq(cc, "gcc") ) /* TBD: MINGW */ defcxx = "g++"; defaultProgram(&cxx, defcxx); if ( !ld ) /* not specified */ { ld = (shared ? SO_LD : PROG_LD); if ( cppfiles.size > 0 && streq(ld, cc) ) ld = cxx; } #if defined(HOST_TOOLCHAIN_MSC) if ( strcmp(LIB_PL_DEBUG,pllib) == 0 ) ensureOption(&coptions, "/MDd"); else ensureOption(&coptions, "/MD"); ensureOption(&coptions, "/D__WINDOWS__"); ensureOption(&coptions, "/nologo"); ensureOption(&ldoptions, "/nologo"); #endif tmpPath(&ctmp, "ctmp-"); tmpPath(&pltmp, "pltmp-"); #if defined(__CYGWIN__) /* Compile generates .exe files on Cygwin */ replaceExtension(ctmp, "exe", tmp); free(ctmp); ctmp = strdup(tmp); #endif #if defined(HOST_OS_WINDOWS) /* Saved states have the .exe extension under Windows */ replaceExtension(pltmp, "exe", tmp); free(pltmp); pltmp = strdup(tmp); #endif if ( shared && !out && !nolink ) { fprintf(stderr, "%s: \"-o out\" required for linking shared object\n", plld); exit(1); } #if defined(HOST_OS_WINDOWS) if ( out && !nolink ) { replaceExtension(out, shared || embed_shared ? "dll" : "exe", tmp); out = strdup(tmp); } #endif defaultPath(&out, PROG_OUT); defaultProgram(&plgoal, "version"); defaultProgram(&pltoplevel, "prolog"); defaultProgram(&plinitfile, "none"); defaultProgram(&plsysinit, "none"); #ifdef __WINDOWS__ sprintf(tmp, "%s/lib", plbase); #else sprintf(tmp, "%s/lib/%s", plbase, plarch); #endif prependArgList(&libdirs, tmp); sprintf(tmp, "%s/include", plbase); prependArgList(&includedirs, tmp); }
int main(int argc, char **argv) { int special; plld = argv[0]; argc--; argv++; catchSignals(); if ( argc == 0 ) { fprintf(stderr, "No input files. Use %s -help.\n", plld); exit(0); } putenv("PLLD=true"); /* for subprograms */ verbose = FALSE; if ( argc > 2 && streq(argv[0], "-pl") ) special = 2; else special = 0; /* swipl-ld [-pl x] -v: verbose */ if ( argc-special == 1 && streq(argv[special], "-v") ) { arglist coptions; int i; memset(&coptions, 0, sizeof(coptions)); for(i=special; i < argc; i++) appendArgList(&coptions, argv[i]); callprog(PROG_CC, &coptions); return 0; } parseOptions(argc, argv); defaultProgram(&pl, PROG_PL); if ( build_defaults ) { nostate = TRUE; /* not needed and Prolog won't run */ defaultProgram(&cc, C_CC); #ifdef PLBASE defaultPath(&plbase, PLBASE); #else defaultPath(&plbase, PLHOME); #endif defaultPath(&plarch, PLARCH); defaultProgram(&pllib, C_PLLIB); addOptionString(C_LIBS); appendArgList(&ldoptions, C_LDFLAGS); appendArgList(&coptions, C_CFLAGS); appendArgList(&cppoptions, C_CFLAGS); #ifdef SO_EXT soext = strdup(SO_EXT); #endif #ifdef O_PLMT ensureOption(&coptions, "-D_REENTRANT"); ensureOption(&cppoptions, "-D_REENTRANT"); #ifdef _THREAD_SAFE /* FreeBSD */ ensureOption(&coptions, "-D_THREAD_SAFE"); ensureOption(&cppoptions, "-D_THREAD_SAFE"); #endif #endif } else { getPrologOptions(); } fillDefaultOptions(); if ( show_version ) { callprog(cc, &coptions); exit(0); } compileObjectFiles(); if ( !nolink ) { if ( shared ) linkSharedObject(); else { linkBaseExecutable(); if ( !nostate ) { createSavedState(); createOutput(); } } } removeTempFiles(); return 0; }
/******************************* * PROLOG OPTIONS * *******************************/ static void getPrologOptions() { FILE *fd; char cmd[512]; sprintf(cmd, "%s --dump-runtime-variables", pl); if ( verbose ) printf("\teval `%s`\n", cmd); if ( (fd = popen(cmd, "r")) ) { char buf[256]; while( fgets(buf, sizeof(buf), fd) ) { char name[100]; char value[256]; char *v; if ( sscanf(buf, "%[^=]=%[^;\n]", name, value) == 2 ) { v = value; if ( *v == '"' ) { char *e = ++v; while(*e && *e != '"') e++; while(e>v && isspace(CTOI(e[-1]))) e--; *e = '\0'; } if ( streq(name, "CC") ) defaultProgram(&cc, v); else if ( streq(name, "PLBASE") ) defaultPath(&plbase, v); else if ( streq(name, "PLARCH") ) defaultPath(&plarch, v); else if ( streq(name, "PLLIBS") ) /* Always required. */ pllibs = strdup(v); else if ( streq(name, "PLLIB") ) defaultProgram(&pllib, v); else if ( streq(name, "PLLDFLAGS") ) appendArgList(&ldoptions, v); else if ( streq(name, "PLCFLAGS") ) { appendArgList(&coptions, v); appendArgList(&cppoptions, v); } else if ( streq(name, "PLSOEXT") ) soext = strdup(v); else if ( streq(name, "PLTHREADS") && streq(v, "yes") ) { ensureOption(&coptions, "-D_REENTRANT"); ensureOption(&cppoptions, "-D_REENTRANT"); #ifdef _THREAD_SAFE /* FreeBSD */ ensureOption(&coptions, "-D_THREAD_SAFE"); ensureOption(&cppoptions, "-D_THREAD_SAFE"); #endif } else continue; if ( verbose ) fprintf(stderr, "\t\t%s=\"%s\"\n", name, v); } else { fprintf(stderr, "Unparsed Prolog option: %s\n", buf); } } pclose(fd); #if defined(__WINDOWS__) && defined(HOST_OS_WINDOWS) sprintf(buf, "%s/bin/%s", plbase, PROG_PL); #else sprintf(buf, "%s/bin/%s/%s", plbase, plarch, PROG_PL); #endif defaultPath(&plexe, buf); } else { fprintf(stderr, "%s: failed to run %s: %s", plld, cmd, oserror()); error(1); } }