/** * SayHello ---- 调用 Java 方法 */ void PrintTraceInfo(const char *aStrToPrint) { //获取当前线程的jniEnv JNIEnv *jniEnv; (*gJvm)->GetEnv(gJvm, (void **)&jniEnv, JNI_VERSION_1_6); if(jniEnv == NULL){ __android_log_print(ANDROID_LOG_INFO, "JNIMsg", "get jniEnv from currentThread null...." ); return; } if(isFirst == 1) { TestProvider = NULL; mTestProvider = NULL; printTraceInfo = NULL; __android_log_print(ANDROID_LOG_INFO, "JNIMsg", "init the provider info...." ); int result = InitProvider(jniEnv); if(result != 1) { return; } } if(mTestProvider != NULL && printTraceInfo != NULL) { jstring jstrMSG = NULL; jstrMSG =(*jniEnv)->NewStringUTF(jniEnv, aStrToPrint); __android_log_print(ANDROID_LOG_INFO, "JNIMsg", "call java printTrackInfo begin...." ); (*jniEnv)->CallVoidMethod(jniEnv, mTestProvider, printTraceInfo,jstrMSG); __android_log_print(ANDROID_LOG_INFO, "JNIMsg", "call java printTrackInfo after...." ); (*jniEnv)->DeleteLocalRef(jniEnv, jstrMSG); } }
void QuoteServer::StartNewOrder(QuoteOrder *vOrder) { m_vOrder = vOrder; m_uiExpectProviderTotal = m_vOrder->uiProvidersTotal; m_uiActualProviderTotal = 0; time(&m_tOrderStartTime); InitProvider(); m_status = DOING_TASK; return ; }
void RadioManager::InitProviders () { InitProvider (new RadioCustomStreams (this)); auto pm = Core::Instance ().GetProxy ()->GetPluginsManager (); auto pileObjs = pm->GetAllCastableRoots<Media::IAudioPile*> (); for (auto pileObj : pileObjs) { auto pile = qobject_cast<Media::IAudioPile*> (pileObj); auto item = new QStandardItem (tr ("Search in %1") .arg (pile->GetServiceName ())); item->setIcon (pile->GetServiceIcon ()); item->setEditable (false); item->setData (QVariant::fromValue (pileObj), RadioWidgetRole::PileObject); StationsModel_->appendRow (item); } auto providerObjs = pm->GetAllCastableRoots<Media::IRadioStationProvider*> (); for (auto provObj : providerObjs) InitProvider (provObj); }