as_crc.h

Wed, 07 Jan 2009 18:49:25 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 07 Jan 2009 18:49:25 +0100
changeset 12
ceb4ba3d2d00
parent 3
c1941114ca88
child 15
0e0eb7c91312
permissions
-rw-r--r--

Bump copyright year number.

     1 //
     2 //  OSSP asgui - Accounting system graphical user interface
     3 //  Copyright (c) 2002-2009 The OSSP Project (http://www.ossp.org/)
     4 //  Copyright (c) 2002-2009 Ralf S. Engelschall <rse@engelschall.com>
     5 //  Copyright (c) 2002-2009 Michael Schloh von Bennewitz <michael@schloh.com>
     6 //  Copyright (c) 2002-2009 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://asgui.europalab.com/.
    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_crc.h: ISO C++ interface
    30 //
    32 #ifndef CRC_H
    33 #define CRC_H
    35 #define QT3_SUPPORT
    37 #include <string>       // For copy constructor using string
    38 #include <qstring.h>    // For deriving from QString
    40 #include "as_gui.h"     // General definitions like U32 typedefs
    43 class Qualistring : public QString
    44 {
    45 private:
    46     U32 m_pkHash[256];          // Used for CRC32 value generation
    48 private:
    49     U32 mirrorBits(U32, U8);    // Helper method, mirror a bitstream
    50     void initCrc(void);         // Helper method, fill hash table
    52 public:                                                                 // Constructors
    53     Qualistring(void) : QString() {initCrc();};                          // Default
    54     Qualistring(const QString &kCopy) : QString(kCopy) {initCrc();};     // Copy
    55     Qualistring(const char *pkcCopy) : QString(pkcCopy) {initCrc();};    // Copy
    56     Qualistring(const std::string &kCopy) : QString(QString::fromStdString(kCopy)) {initCrc();}; // Copy
    58     U32 getCrc(void);                           // Generate and return a CRC32
    59     Qualistring &operator=(const QString &);    // Overload equals operator
    60 };
    62 #endif // CRC_H

mercurial