jstring Java_org_apache_nifi_processor_JniFlowFile_getUUIDStr(JNIEnv *env, jobject obj) { minifi::jni::JniFlowFile *ptr = minifi::jni::JVMLoader::getInstance()->getReference<minifi::jni::JniFlowFile>(env, obj); auto ff = ptr->get(); THROW_IF_NULL(ff, env, NO_FF_OBJECT); return env->NewStringUTF(ff->getUUIDStr().c_str()); }
jlong Java_org_apache_nifi_processor_JniFlowFile_getSize(JNIEnv *env, jobject obj) { minifi::jni::JniFlowFile *ptr = minifi::jni::JVMLoader::getInstance()->getReference<minifi::jni::JniFlowFile>(env, obj); auto ff = ptr->get(); THROW_IF_NULL(ff, env, NO_FF_OBJECT); jlong val = ff->getSize(); return val; }
STDMETHODIMP CAdRotator::get_TargetFrame(BSTR * pVal) { HRESULT rc = E_FAIL; USES_CONVERSION; try { if ( pVal ) { CLock l(m_cs); if ( *pVal ) { ::SysFreeString( *pVal ); } *pVal = T2BSTR( m_strTargetFrame.c_str() ); THROW_IF_NULL( *pVal ); rc = S_OK; } else { rc = E_POINTER; } } catch ( alloc_err& ) { rc = E_OUTOFMEMORY; } catch ( ... ) { rc = E_FAIL; } return rc; }
jstring Java_org_apache_nifi_processor_JniFlowFile_getAttribute(JNIEnv *env, jobject obj, jstring key) { minifi::jni::JniFlowFile *ptr = minifi::jni::JVMLoader::getInstance()->getReference<minifi::jni::JniFlowFile>(env, obj); auto ff = ptr->get(); THROW_IF_NULL(ff, env, NO_FF_OBJECT); const char *kstr = env->GetStringUTFChars(key, 0); std::string value; std::string keystr = kstr; ff->getAttribute(keystr, value); env->ReleaseStringUTFChars(key, kstr); return env->NewStringUTF(value.c_str()); }
SOM_Scope void SOMLINK CMLinkSourceIteratorInitCMLinkSourceIterator(CMLinkSourceIterator *somSelf, Environment *ev, CMDraft* draft) { CMLinkSourceIteratorData *somThis = CMLinkSourceIteratorGetData(somSelf); CMLinkSourceIteratorMethodDebug("CMLinkSourceIterator","InitCMLinkSourceIterator"); #ifdef _NATIVE_EXCEPTIONS_ // Use C++ native exception SOM_TRY #else SOM_CATCH return; #endif /* Moved from somInit. SOM itself sets fields to zero _fDraft = kODNULL; _fCurrent = kODNULL; _fContainer = kODNULL; _fProperty = kODNULL; _fType = kODNULL; _fBuffer = kODNULL; _fSize = 0; */ somSelf->InitLinkSourceIterator(ev); _fDraft = draft; _fContainer = draft->GetCMContainer(ev); ODSessionMustHaveCMAllocReserve(_fContainer); _fProperty = CMRegisterProperty(_fContainer, kODPropStorageUnitType); _fType = CMRegisterType(_fContainer, kODISOStr); ODSessionRestoreCMAllocReserve(_fContainer); _fSize = ODISOStrLength(kODLinkSource) + 1; _fBuffer = ODNewPtr(_fSize, kDefaultHeapID); THROW_IF_NULL(_fBuffer); #ifdef _NATIVE_EXCEPTIONS_ // Use C++ native exception SOM_CATCH_ALL SOM_ENDTRY #endif }
SOM_Scope void SOMLINK CMLinkSourceIteratorAdd(CMLinkSourceIterator *somSelf, Environment *ev, ODStorageUnitID linkSourceSUID) { CMLinkSourceIteratorData *somThis = CMLinkSourceIteratorGetData(somSelf); CMLinkSourceIteratorMethodDebug("CMLinkSourceIterator","Add"); CMItrNode* entry = new CMItrNode; THROW_IF_NULL(entry); entry->linkSourceSUID = linkSourceSUID; if (_fCMItrList != (CMItrNode*)kODNULL) { entry->next = _fCMItrList; } else { entry->next = (CMItrNode*)kODNULL; } _fCMItrList = entry; }
STDMETHODIMP CAdRotator::get_GetAdvertisement(BSTR bstrVirtualPath, BSTR * pVal) { SCODE rc = E_FAIL; try { USES_CONVERSION; CContext cxt; rc = cxt.Init( CContext::get_Server ); if ( !FAILED(rc) ) { CComBSTR bstrPhysicalPath; // determine the physical path if ( ( rc = cxt.Server()->MapPath( bstrVirtualPath, &bstrPhysicalPath ) ) == S_OK ) { _TCHAR* szPath = OLE2T( bstrPhysicalPath ); CAdFilePtr pAdFile = AdFile( szPath ); if ( pAdFile.IsValid() ) { // refresh the ad file (make sure it's up to date) pAdFile->Refresh(); // block all writers CReader rdr( *pAdFile ); // if the border hasn't been set, use the default from the ad file short nBorder; if ( m_nBorder < 0 ) { nBorder = pAdFile->Border(); } else { nBorder = m_nBorder; } CAdDescPtr pAd = pAdFile->RandomAd(); if ( pAd.IsValid() ) { // write out the HTML line for this ad StringOutStream ss; if ( m_bClickable && ( pAd->m_strLink.size() > 1 ) ) { // use the href format ss << _T("<A HREF=\"") << pAdFile->Redirector() << _T("?url=") << pAd->m_strLink << _T("&image=") << pAd->m_strGif << _T("\" ") << m_strTargetFrame << _T(">"); } // now fill in the rest ss << _T("<IMG SRC=\"") << pAd->m_strGif << _T("\" ALT=\"") << pAd->m_strAlt << _T("\" WIDTH=") << pAdFile->Width() << _T(" HEIGHT=") << pAdFile->Height(); if ( pAdFile->HSpace() != CAdFile::defaultHSpace ) { ss << _T(" HSPACE=") << pAdFile->HSpace(); } if ( pAdFile->VSpace() != CAdFile::defaultVSpace ) { ss << _T(" VSPACE=") << pAdFile->VSpace(); } ss << _T(" BORDER=") << nBorder << _T(">"); if ( m_bClickable && ( pAd->m_strLink.size() > 1 ) ) { // put the trailing tag on ss << _T("</A>"); } String str = ss.toString(); if ( pVal ) { if ( *pVal ) { ::SysFreeString( *pVal ); } *pVal = T2BSTR( str.c_str() ); THROW_IF_NULL( *pVal ); rc = S_OK; } else { rc = E_POINTER; } } } } } else { _ASSERT(0); RaiseException( IDS_ERROR_NOSVR ); } // end if got server } catch ( alloc_err& ) { rc = E_OUTOFMEMORY; } catch ( ... ) { rc = E_FAIL; } return rc; }