UT_Error IE_Imp_WordPerfect::_appendSection(int numColumns, const float marginLeft, const float marginRight) { UT_DEBUGMSG(("AbiWordPerfect: Appending section\n")); UT_String myProps("") ; UT_LocaleTransactor lt(LC_NUMERIC, "C"); myProps += UT_String_sprintf("columns:%d; page-margin-left:%.4fin; page-margin-right:%.4fin", numColumns, marginLeft, marginRight); if(m_bInSection && m_bRequireBlock) // AbiWord will hang on an empty <section> { X_CheckDocumentError(appendStrux(PTX_Block,PP_NOPROPS)); } const PP_PropertyVector propsArray = { "props", myProps.c_str() }; X_CheckDocumentError(appendStrux(PTX_Section, propsArray)); m_bInSection = true; m_bRequireBlock = true; m_bSectionChanged = false; return UT_OK; }
/* * Class: sage_WMATagParser * Method: extractProperties0 * Signature: (Ljava/lang/String;)Ljava/util/Map; */ JNIEXPORT jobject JNICALL Java_sage_WMATagParser_extractProperties0 (JNIEnv *env, jobject jo, jstring jfilename) { if (failedLoadingWMLib) return NULL; HRESULT hr; CWMProp myProps(&hr); if (FAILED(hr)) { slog((env, "Failure with creating CWMProp 0x%x\r\n", hr)); return NULL; } if (!sageLoadedWMLib) { sageLoadedWMLib = LoadLibrary("WMVCORE.DLL"); if (!sageLoadedWMLib) { failedLoadingWMLib = TRUE; slog((env, "Failed loading WMVCORE.DLL, cannot perform WMA tag parsing\r\n")); return NULL; } } // Dynamically resolve the WMCreateReader call so we don't require WMP10 to load this DLL typedef HRESULT (STDMETHODCALLTYPE *FUNC_PTRWMCreateReader)(IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader); FUNC_PTRWMCreateReader lpfnProc = (FUNC_PTRWMCreateReader)GetProcAddress(sageLoadedWMLib, "WMCreateReader"); hr = lpfnProc(NULL, 0, &myProps.m_pReader); if (FAILED(hr)) { slog((env, "Failure with WMCreateReader 0x%x\r\n", hr)); return NULL; } const jchar* cFilename = env->GetStringChars(jfilename, NULL); hr = myProps.Open(reinterpret_cast<LPCWSTR>(cFilename)); env->ReleaseStringChars(jfilename, cFilename); if (FAILED(hr)) { slog((env, "Failure with WMA Open 0x%x\r\n", hr)); return NULL; } return myProps.ExtractProperties(env); }