summaryrefslogtreecommitdiff
path: root/cosv/inc/cosv/openclose.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cosv/inc/cosv/openclose.hxx')
-rw-r--r--cosv/inc/cosv/openclose.hxx137
1 files changed, 0 insertions, 137 deletions
diff --git a/cosv/inc/cosv/openclose.hxx b/cosv/inc/cosv/openclose.hxx
deleted file mode 100644
index c65ce5b753e2..000000000000
--- a/cosv/inc/cosv/openclose.hxx
+++ /dev/null
@@ -1,137 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef CSV_OPENCLOSE_HXX
-#define CSV_OPENCLOSE_HXX
-
-
-namespace csv
-{
-
-// Open modes for storages:
-enum E_RWMode
-{
- rwDefault = 0x0000, // Keep old settings. If there are none, set default.
- rwRead = 0x0001, // Reads only
- rwWrite = 0x0002, // Writes only
- rwReadWrite = 0x0003 // Reads and writes.
-};
-
-enum E_OpenMode
-{
- omCreateIfNecessary = 0x0000, // Creates a new file only, if file does not exist.
- omCreateNot = 0x0010, // Open fails, if file does not exist.
- omCreate = 0x0020 // Existing file will be deleted.
-};
-enum E_ShareMode
-{
- shmShareNot = 0x0000, // Allow others nothing
- shmShareRead = 0x0004, // Allow others to read
- shmShareAll = 0x000C // Allow others to read and write
-};
-
-/** Constants for filemode combinations
- These combinations are the only ones, guaranteed to be supported.
-*/
-const UINT32 CFM_RW = rwReadWrite;
-const UINT32 CFM_CREATE =
- static_cast< UINT32 >(rwReadWrite) | static_cast< UINT32 >(omCreate);
-const UINT32 CFM_READ =
- static_cast< UINT32 >(rwRead) | static_cast< UINT32 >(omCreateNot) |
- static_cast< UINT32 >(shmShareRead);
-
-
-
-class OpenClose
-{
- public:
- virtual ~OpenClose() {}
-
- bool open(
- UINT32 in_nOpenModeInfo = 0 ); /// Combination of values of E_RWMode and E_ShareMode und E_OpenMode. 0 := Keep existing mode.
- void close();
-
- bool is_open() const;
-
- private:
- virtual bool do_open(
- UINT32 in_nOpenModeInfo ) = 0;
- virtual void do_close() = 0;
- virtual bool inq_is_open() const = 0;
-};
-
-
-
-class OpenCloseGuard
-{
- public:
- OpenCloseGuard(
- OpenClose & i_rOpenClose,
- UINT32 i_nOpenModeInfo = 0 );
- ~OpenCloseGuard();
- operator bool() const;
-
- private:
- // Forbidden:
- OpenCloseGuard(OpenCloseGuard&);
- OpenCloseGuard & operator=(OpenCloseGuard&);
-
- // DATA
- OpenClose & rOpenClose;
-};
-
-
-// IMPLEMENTATION
-
-inline bool
-OpenClose::open( UINT32 i_nOpenModeInfo )
- { return do_open(i_nOpenModeInfo); }
-inline void
-OpenClose::close()
- { do_close(); }
-inline bool
-OpenClose::is_open() const
- { return inq_is_open(); }
-
-inline
-OpenCloseGuard::OpenCloseGuard( OpenClose & i_rOpenClose,
- UINT32 i_nOpenModeInfo )
- : rOpenClose(i_rOpenClose)
- { rOpenClose.open(i_nOpenModeInfo); }
-inline
-OpenCloseGuard::~OpenCloseGuard()
- { if (rOpenClose.is_open()) rOpenClose.close(); }
-inline
-OpenCloseGuard::operator bool() const
- { return rOpenClose.is_open(); }
-
-
-
-
-} // namespace csv
-
-
-
-
-
-
-#endif
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */