as_sfile.cpp

Fri, 28 Nov 2008 14:20:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 28 Nov 2008 14:20:00 +0100
changeset 2
e8292658d5b3
child 3
c1941114ca88
permissions
-rw-r--r--

Added tag ASGUI_0.7.7 for changeset d64aaa7d146f

     1 //
     2 //  OSSP asgui - Accounting system graphical user interface
     3 //  Copyright (c) 2002-2004 The OSSP Project (http://www.ossp.org/)
     4 //  Copyright (c) 2002-2004 Ralf S. Engelschall <rse@engelschall.com>
     5 //  Copyright (c) 2002-2004 Michael Schloh von Bennewitz <michael@schloh.com>
     6 //  Copyright (c) 2002-2004 Cable & Wireless Telecommunications Services GmbH
     7 //
     8 //  This file is part of OSSP asgui, an accounting system graphical user
     9 //  interface which can be found at http://www.ossp.org/pkg/tool/asgui/.
    10 //
    11 //  Permission to use, copy, modify, and distribute this software for
    12 //  any purpose with or without fee is hereby granted, provided that
    13 //  the above copyright notice and this permission notice appear in all
    14 //  copies.
    15 //
    16 //  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    17 //  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    18 //  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    19 //  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    20 //  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    21 //  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    22 //  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    23 //  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    24 //  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    25 //  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    26 //  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    27 //  SUCH DAMAGE.
    28 //
    29 //  as_sfile.cpp: ISO C++ implementation
    30 //
    32 #include "as_sfile.h"
    33 #include "as_except.h"
    36 //
    37 // Serialize a backup of an incoming file object
    38 //
    39 void Simplefile::makeBackup(void)
    40 {
    41     QFile Filein;           // Input readonly file
    42     QFile Filebak;          // Backup writeonly file
    43     QString Fname;          // Filename of input file
    44     QTextStream Streamin;   // Stream to read from (Filein)
    45     QTextStream Streambak;  // Stream to write to (Filebak)
    47     try {
    48         if(!this->exists())                 // Conditionally short circuit if
    49             return;                         // file to backup does not exist
    50         Fname = this->name();               // Copy filename from original
    51         Filein.setName(Fname);              // Set filename of original
    52         Filein.open(IO_ReadOnly);           // Open original read-only
    53         Filebak.setName(Fname + ".bak");    // Set filename of backup
    54         Filebak.open(IO_WriteOnly);         // Open backup write-only
    55         Streamin.setDevice(&Filein);        // Set incoming stream
    56         Streambak.setDevice(&Filebak);      // Set outgoing stream
    57         Streambak << Streamin.read();       // Do actual writing
    58         Filein.close();                     // Close original
    59         Filebak.close();                    // Close backup
    60     }
    61     catch (Genexcept& Genex) {
    62         Genex.reportErr();
    63     }
    64 }

mercurial