19 #ifndef INCLUDED_SW_INC_SHELLIO_HXX
20 #define INCLUDED_SW_INC_SHELLIO_HXX
24 #include <com/sun/star/uno/Reference.h>
28 #include <tools/datetime.hxx>
30 #include <rtl/ref.hxx>
31 #include <osl/thread.h>
56 #define MAX_ASCII_PARA 10000
69 void SetFontName(
const OUString& rFont ) { m_sFont = rFont; }
71 rtl_TextEncoding
GetCharSet()
const {
return m_eCharSet; }
72 void SetCharSet( rtl_TextEncoding nVal ) { m_eCharSet = nVal; }
87 m_eCharSet = ::osl_getThreadTextEncoding();
92 void ReadUserData(
const OUString& );
93 void WriteUserData( OUString& );
111 void ResetAllFormatsOnly() { m_bFrameFormats = m_bPageDescs = m_bTextFormats = m_bNumRules = m_bMerge =
false; }
127 void SetMerge(
const bool bNew ) { m_bMerge = bNew; }
134 void SetInputStream(
const css::uno::Reference<css::io::XInputStream>& xInputStream)
136 m_xInputStream = xInputStream;
148 css::uno::Reference < css::embed::XStorage >
mxStg;
167 SwReader(
const css::uno::Reference < css::embed::XStorage >&,
const OUString& rFilename,
SwPaM& );
173 bool HasGlossaries(
const Reader& );
177 void SetBaseURL(
const OUString& rURL ) { msBaseURL = rURL; }
181 typedef std::unique_ptr<SwReader, o3tl::default_delete<SwReader>>
SwReaderPtr;
219 bool m_bInsertMode : 1;
220 bool m_bTemplateBrowseMode : 1;
222 bool m_bBlockMode: 1;
223 bool m_bOrganizerMode : 1;
224 bool m_bHasAskTemplateName : 1;
225 bool m_bIgnoreHTMLComments : 1;
226 bool m_bSkipImages : 1;
228 virtual OUString GetTemplateName(
SwDoc& rDoc)
const;
237 virtual void SetFltName(
const OUString& rFltNm );
240 static void ResetFrameFormatAttrs(
SfxItemSet &rFrameSet );
244 static void ResetFrameFormats(
SwDoc& rDoc );
248 bool SetTemplate(
SwDoc& rDoc );
249 void ClearTemplate();
250 void SetTemplateName(
const OUString& rDir );
251 void MakeHTMLDummyTemplateDoc();
269 virtual size_t GetSectionList(
SfxMedium& rMedium,
270 std::vector<OUString>& rStrings)
const;
280 virtual bool SetStrmStgPtr();
298 virtual void SetFltName(
const OUString& r )
override;
317 OUString GetName()
const;
318 void SetName(
const OUString& );
321 OUString GetBaseURL()
const;
322 void SetBaseURL(
const OUString& rURL );
324 sal_uInt16 GetCount()
const;
325 sal_uInt16 GetIndex(
const OUString& )
const;
326 sal_uInt16 GetLongIndex(
const OUString& )
const;
327 OUString GetShortName( sal_uInt16 )
const;
328 OUString GetLongName( sal_uInt16 )
const;
330 bool Delete( sal_uInt16 );
331 void Rename( sal_uInt16,
const OUString*,
const OUString* );
333 bool BeginGetDoc( sal_uInt16 );
336 bool BeginPutDoc(
const OUString&,
const OUString& );
339 sal_uInt16 PutText(
const OUString&,
const OUString&,
const OUString& );
341 bool IsOnlyTextBlock( sal_uInt16 )
const;
342 bool IsOnlyTextBlock(
const OUString& rShort )
const;
344 OUString
const & GetFileName()
const;
350 bool StartPutMuchBlockEntries();
351 void EndPutMuchBlockEntries();
376 void AddFontItems_(
SfxItemPool& rPool, sal_uInt16 nWhichId );
388 bool CopyNextPam(
SwPaM ** );
390 void PutNumFormatFontsInAttrPool();
391 void PutEditEngFontsInAttrPool();
393 virtual ErrCode WriteStream() = 0;
394 void SetBaseURL(
const OUString& rURL ) { m_sBaseURL = rURL; }
406 bool m_bWriteAll : 1;
407 bool m_bShowProgress : 1;
408 bool m_bWriteClipboardDoc : 1;
409 bool m_bWriteOnlyFirstTable : 1;
410 bool m_bASCII_ParaAsCR : 1;
411 bool m_bASCII_ParaAsBlank : 1;
412 bool m_bASCII_NoLastLineEnd : 1;
413 bool m_bUCS2_WithStartChar : 1;
414 bool m_bExportParagraphNumbering : 1;
417 bool m_bOrganizerMode : 1;
418 bool m_bHideDeleteRedlines : 1;
421 virtual ~
Writer()
override;
428 virtual void SetupFilterOptions(
SfxMedium& rMedium);
430 virtual bool IsStgWriter()
const;
442 sal_Int32 FindPos_Bkmk(
const SwPosition& rPos )
const;
445 void CreateBookmarkTable();
448 sal_Int32 nStt, sal_Int32 nEnd,
449 std::vector< const ::sw::mark::IMark* >& rArr );
452 static std::shared_ptr<SwUnoCursor> NewUnoCursor(
SwDoc & rDoc,
456 bool CopyLocalFileToINet( OUString& rFileNm );
464 void SetStream(
SvStream *
const pStream);
477 css::uno::Reference < css::embed::XStorage >
m_xStg;
481 virtual ErrCode WriteStorage() = 0;
491 virtual ErrCode Write(
SwPaM&,
const css::uno::Reference < css::embed::XStorage >&,
const OUString*,
SfxMedium* =
nullptr )
override;
502 css::uno::Reference < css::embed::XStorage >
m_xStg;
518 SwWriter(
const css::uno::Reference < css::embed::XStorage >&,
SwDoc& );
537 : pReader( nullptr ), fnGetReader( fnReader ), fnGetWriter( fnWriter ), bDelReader( bDel )
544 void GetWriter(
const OUString& rNm,
const OUString& rBaseURL,
WriterRef& xWrt )
const;
void SetShowProgress(bool bFlag)
rtl_TextEncoding GetCharSet() const
const tools::SvRef< SotStorage > & getSotStorageRef() const
SAL_DLLPUBLIC_EXPORT bool TestImportDOC(SvStream &rStream, const OUString &rFltName)
const OUString & GetBaseURL() const
bool GetIncludeBOM() const
Marks a position in the document model.
rtl_TextEncoding m_eCharSet
std::unique_ptr< Writer_Impl > m_pImpl
bool ReadGlossaries(const Reader &, SwTextBlocks &, bool bSaveRelFiles)
bool SetHTMLTemplate(SwDoc &rDoc)
void SetPageDescs(const bool bNew)
tools::SvRef< SotStorage > mpStg
SAL_DLLPUBLIC_EXPORT bool TestImportRTF(SvStream &rStream)
const OUString & GetFontName() const
css::uno::Reference< css::embed::XStorage > mxStg
bool IsFrameFormats() const
bool IsFormatsOnly() const
void(* FnGetWriter)(const OUString &, const OUString &rBaseURL, WriterRef &)
LanguageType GetLanguage() const
tools::SvRef< Writer > WriterRef
void SetOrganizerMode(bool bSet)
tools::SvRef< SotStorage > m_pStorage
void SetReadUTF8(bool bSet)
void SetParaFlags(LineEnd eVal)
ErrCode SaveOrDelMSVBAStorage(SfxObjectShell &, SotStorage &, bool, const OUString &)
ErrCode const & GetError() const
void SetTextFormats(const bool bNew)
std::unique_ptr< SwReader, o3tl::default_delete< SwReader > > SwReaderPtr
ErrCode GetSaveWarningOfMSVBAStorage(SfxObjectShell &rDocS)
void SetSkipImages(bool bSkipImages)
void SetLanguage(LanguageType nVal)
constexpr OUStringLiteral IsReadOnly(u"IsReadOnly")
Reader * GetReader(const OUString &rFltName)
Return reader based on the name.
void SetOrganizerMode(bool bSet)
void SetBlockMode(bool bSet)
LineEnd GetSystemLineEnd()
const SwAsciiOptions & GetASCIIOpts() const
css::uno::Reference< css::embed::XStorage > m_xStg
SwAsciiOptions m_aAsciiOptions
void GetRTFWriter(const OUString &, const OUString &, WriterRef &)
virtual ErrCode WriteStream()=0
SAL_DLLPUBLIC_EXPORT bool TestImportHTML(SvStream &rStream)
const OUString & GetFltName() const
void SetBaseURL(const OUString &rURL)
void GetWriter(const OUString &rNm, const OUString &rBaseURL, WriterRef &xWrt) const
Get access to the writer.
void SetCharSet(rtl_TextEncoding nVal)
PaM is Point and Mark: a selection of the document model.
SwgReaderOption & GetReaderOpt()
Reader *(* FnGetReader)()
virtual ErrCode Write(SwPaM &, SfxMedium &, const OUString *)
css::uno::Reference< css::io::XInputStream > & GetInputStream()
void SetIgnoreHTMLComments(bool bSet)
virtual ErrCode Read(SwDoc &, const OUString &rBaseURL, SwPaM &, const OUString &) override
void GetXMLWriter(const OUString &, const OUString &, WriterRef &)
tools::SvRef< SotStorage > m_pStg
Provides access to settings of a document.
Reader * GetReader()
Get access to the reader.
bool IsTextFormats() const
void SetBaseURL(const OUString &rURL)
ErrCode Read(const Reader &)
css::uno::Reference< css::embed::XStorage > m_xStg
virtual void SetFltName(const OUString &rFltNm)
void GetASCWriter(const OUString &, const OUString &, WriterRef &)
SotStorage & GetStorage() const
SwgReaderOption m_aOption
SvRefBase & operator=(const SvRefBase &)
void ResetAllFormatsOnly()
SwAsciiOptions m_aASCIIOpts
SW_DLLPUBLIC Reader * SwGetReaderXML()
const OUString * GetOrigFileName() const
SAL_DLLPUBLIC_EXPORT void FlushFontCache()
void setSotStorageRef(const tools::SvRef< SotStorage > &pStgRef)
std::unique_ptr< SwImpBlocks > m_pImp
css::uno::Reference< css::io::XInputStream > m_xInputStream
void SetIncludeBOM(bool bVal)
std::shared_ptr< SwUnoCursor > m_pCurrentPam
rtl::Reference< SwDoc > mxTemplate
const OUString * m_pOrigFileName
Access to the style pool.
SAL_DLLPUBLIC_EXPORT bool TestImportDOCX(SvStream &rStream)
css::uno::Reference< css::embed::XStorage > m_xStorage
void GetWriter(const OUString &rFltName, const OUString &rBaseURL, WriterRef &xRet)
Return writer based on the name.
LineEnd GetParaFlags() const
void SetASCIIOpts(const SwAsciiOptions &rOpts)
void SetAsciiOptions(const SwAsciiOptions &rOpt)
const SwAsciiOptions & GetAsciiOptions() const
DateTime m_aCheckDateTime
bool IsOrganizerMode() const
SwReaderWriterEntry(const FnGetReader fnReader, const FnGetWriter fnWriter, bool bDel)
void SetFrameFormats(const bool bNew)
virtual bool IsStgWriter() const
bool HasGlossaries(const Reader &)
virtual SwReaderType GetReaderType()
void GetHTMLWriter(const OUString &, const OUString &, WriterRef &)
void SetInputStream(const css::uno::Reference< css::io::XInputStream > &xInputStream)
void SetMerge(const bool bNew)
void SetNumRules(const bool bNew)
void SetFontName(const OUString &rFont)