/* Action to run in response to the "test/output" URI */ static void output_action() { Output *output; /* Don't automatically finalize (complete) the request when this routine returns. This keeps the connection open. */ dontAutoFinalize(); /* Define the event notifier. We're interested in WRITABLE events */ setNotifier(output_callback); /* Open a file for output. Could use open/write, but we use the MPR equivalents for cross-platform I/O. */ output = mprAllocObj(Output, manageOutput); if ((output->file = mprOpenFile(OUTPUT_FILE, O_RDONLY, 0)) == 0) { httpError(getConn(), HTTP_CODE_INTERNAL_SERVER_ERROR, "Cannot open huge.txt"); return; } mprGetPathInfo(OUTPUT_FILE, &output->info); /* Save a reference to our output state */ setData(output); }
System::System(Mat*a,Mat*b,Mat*c,Mat*d,double tsample,Notifier *nt):System(){ A = a; B = b; C = c; D = d; if ( D == 0 ) D = new Mat(C->rows,B->cols,CV_64FC1,0.0); Ts = tsample; setNotifier(nt); rebuild(); }
/* **************************************************************************** * * utInit - unit test init * */ void utInit(void) { #ifdef UT_DEBUG ++noOfInits; printf("**************** IN utInit (%d inits, %d exits)\n", noOfInits, noOfExits); #endif notifierMock = new NotifierMock(); if (notifierMock == NULL) { fprintf(stderr, "error allocating NotifierMock: %s\n", strerror(errno)); exit(1); } setNotifier(notifierMock); timerMock = new TimerMock(); if (timerMock == NULL) { fprintf(stderr, "error allocating TimerMock: %s\n", strerror(errno)); exit(1); } ON_CALL(*timerMock, getCurrentTime()).WillByDefault(Return(1360232700)); setTimer(timerMock); startTime = getCurrentTime(); statisticsTime = getCurrentTime(); setupDatabase(); #ifdef UT_DEBUG printf("**************** FROM utInit (%d inits, %d exits)\n", noOfInits, noOfExits); #endif // // URI parameters used for unit testing // Default mime type for notifications: application/xml // uriParams[URI_PARAM_NOTIFY_FORMAT] = "XML"; uriParams[URI_PARAM_PAGINATION_OFFSET] = DEFAULT_PAGINATION_OFFSET; uriParams[URI_PARAM_PAGINATION_LIMIT] = DEFAULT_PAGINATION_LIMIT; uriParams[URI_PARAM_PAGINATION_DETAILS] = DEFAULT_PAGINATION_DETAILS; uriParams[URI_PARAM_NOT_EXIST] = ""; // FIXME P7: we need this to implement "restriction-based" filters // // Resetting servicePathVector // servicePathVector.clear(); // Init subs cache (this initialization is overriden in test that use csubs) mongoSubCacheInit(); }
ContestResultsApi::ContestResultsApi(ContestResults::Client resultsApi, PromiseConverter& converter) : resultsApi(resultsApi), converter(converter) { KJ_DBG("Created results API", this); auto resultsRequest = resultsApi.resultsRequest().send(); converter.adopt(resultsRequest.then([this](capnp::Response<ContestResults::ResultsResults> results) { auto talliedOpinions = results.getResults(); updateResults(talliedOpinions); })); auto subscribeRequest = resultsApi.subscribeRequest(); subscribeRequest.setNotifier(kj::heap<ResultsNotifier>(*this)); converter.adopt(subscribeRequest.send()); }
/* **************************************************************************** * * utExit - unit test exit * */ void utExit(void) { #ifdef UT_DEBUG ++noOfExits; printf("**************** IN utExit (%d inits, %d exits)\n", noOfInits, noOfExits); #endif if (timerMock) delete timerMock; if (notifierMock) delete notifierMock; timerMock = NULL; notifierMock = NULL; setTimer(NULL); setNotifier(NULL); #ifdef UT_DEBUG printf("**************** FROM utExit (%d inits, %d exits)\n", noOfInits, noOfExits); #endif }
void MixerDetails::setTrack(MixerTrackItemPtr track) { _mti = track; setNotifier(_mti ? _mti->focusedChan() : nullptr); updateFromTrack(); }
void detachNotifier(Notifier<Data>* n) { if (_notifier == n) setNotifier(nullptr); }