static int build_scanRecord_links(acqScan_t *sc) { int i; char *controlPV = NULL; DEBUGM(sc->master,1) printf("build_scanRecord_links\n"); if( sc->acqControlList) { for(i=0; i < sc->numControlPV; i++) { if( sc->acqControlList[i].controlPV) controlPV = sc->acqControlList[i].controlPV; if( !controlPV) /* should not happen: 'valid settings' checks this */ return 0; sc->acqControlList[i].controlChan = build_connector( NULL, controlPV); sc->acqControlList[i].controlChan->user_data = (void *) sc; sc->acqControlList[i].controlChan->update = NULL; /* set to callbacks for updates */ } } for( i=0; i < NUM_SCAN_TRIGGERS; i++) { acqAction_t *ap; for( ap=sc->actions[i]; ap ; ap=(ap->next==sc->actions[i]?NULL:ap->next) ) { if( buildAction( ap) == 0) { sc->master->messageAdd(sc->master, "can't link action %s type %d", tgTypeName(i), ap->type); return 0; } } } sc->startEvent = epicsEventCreate(0); sc->endEvent = epicsEventCreate(0); sc->putNotify = epicsEventCreate(0); if( sc->startEvent == 0 || sc->endEvent == 0) return 0; return 1; }
int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); ProfileClient profileClient; Preferences preferences; QScopedPointer<PlatformUtil> platformUtil(PlatformUtil::create()); int rules_version = -1; QList<Rule> rules; Configuration::readRules(rules, &rules_version); Configuration::readPreferences(preferences); QScopedPointer<ConditionManager> conditionManager(buildConditionManager()); QScopedPointer<Action> action(buildAction(&profileClient, platformUtil.data())); RulesManager rulesManager(&rules, conditionManager.data(), action.data(), &preferences); ProfileMaticInterface interface(&rulesManager, &rules, &preferences); if (interface.init()) { fprintf(stderr, "Exiting\n"); return -1; } rulesManager.refresh(); // LATER: this code can be removed a couple of versions down the road I think. qDebug("rules_version: %d", rules_version); // rules.size > 1 because default rule always exists if (rules_version == 0 && rules.size() > 1) { qDebug("Launching conversion warning"); QProcess::startDetached(CONVERSION_WARNING_CMDLINE); qDebug("Conversion warning launched"); } qDebug("Starting"); int ret = a.exec(); qDebug("Exiting\n"); return ret; }