LibreOffice Module vcl (master)
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
vcl
inc
SwapFile.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
20
#pragma once
21
22
#include <
vcl/dllapi.h
>
23
#include <
tools/urlobj.hxx
>
24
#include <
tools/stream.hxx
>
25
#include <
unotools/ucbhelper.hxx
>
26
#include <
unotools/ucbstreamhelper.hxx
>
27
28
namespace
vcl
29
{
30
class
VCL_DLLPUBLIC
SwapFile
31
{
32
private
:
33
INetURLObject
maSwapURL
;
34
35
public
:
36
SwapFile
(
INetURLObject
const
& rSwapURL)
37
: maSwapURL(rSwapURL)
38
{
39
}
40
41
~SwapFile
() COVERITY_NOEXCEPT_FALSE
42
{
43
utl::UCBContentHelper::Kill
(maSwapURL.
GetMainURL
(
INetURLObject::DecodeMechanism::NONE
));
44
}
45
46
const
INetURLObject
&
getSwapURL
()
const
{
return
maSwapURL; }
47
48
OUString
getSwapURLString
()
const
49
{
50
return
maSwapURL.
GetMainURL
(
INetURLObject::DecodeMechanism::NONE
);
51
}
52
53
std::unique_ptr<SvStream>
openOutputStream
()
54
{
55
OUString sSwapURL = getSwapURLString();
56
if
(!sSwapURL.isEmpty())
57
{
58
try
59
{
60
return
utl::UcbStreamHelper::CreateStream
(
61
sSwapURL, StreamMode::READWRITE | StreamMode::SHARE_DENYWRITE);
62
}
63
catch
(
const
css::uno::Exception&)
64
{
65
}
66
}
67
return
std::unique_ptr<SvStream>();
68
}
69
};
70
}
71
72
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
vcl::SwapFile::getSwapURLString
OUString getSwapURLString() const
Definition:
SwapFile.hxx:48
VCL_DLLPUBLIC
#define VCL_DLLPUBLIC
Definition:
dllapi.h:29
vcl
INetURLObject::DecodeMechanism::NONE
utl::UcbStreamHelper::CreateStream
static std::unique_ptr< SvStream > CreateStream(const OUString &rFileName, StreamMode eOpenMode, css::uno::Reference< css::awt::XWindow > xParentWin=nullptr)
vcl::SwapFile::getSwapURL
const INetURLObject & getSwapURL() const
Definition:
SwapFile.hxx:46
vcl::SwapFile::SwapFile
SwapFile(INetURLObject const &rSwapURL)
Definition:
SwapFile.hxx:36
vcl::SwapFile
Definition:
SwapFile.hxx:30
vcl::SwapFile::~SwapFile
~SwapFile() COVERITY_NOEXCEPT_FALSE
Definition:
SwapFile.hxx:41
urlobj.hxx
ucbstreamhelper.hxx
INetURLObject
dllapi.h
INetURLObject::GetMainURL
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
ucbhelper.hxx
vcl::SwapFile::openOutputStream
std::unique_ptr< SvStream > openOutputStream()
Definition:
SwapFile.hxx:53
stream.hxx
vcl::SwapFile::maSwapURL
INetURLObject maSwapURL
Definition:
SwapFile.hxx:33
utl::UCBContentHelper::Kill
UNOTOOLS_DLLPUBLIC bool Kill(OUString const &url)
Generated on Tue May 17 2022 12:33:17 for LibreOffice Module vcl (master) by
1.8.10