File indexing completed on 2024-05-05 04:44:41

0001 /*  This file is part of the KDE project
0002     Copyright (C) 2008 Matthias Kretz <kretz@kde.org>
0003 
0004     This program is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Library General Public
0006     License as published by the Free Software Foundation; either
0007     version 2 of the License, or (at your option) version 3.
0008 
0009     This library is distributed in the hope that it will be useful,
0010     but WITHOUT ANY WARRANTY; without even the implied warranty of
0011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012     Library General Public License for more details.
0013 
0014     You should have received a copy of the GNU Library General Public License
0015     along with this library; see the file COPYING.LIB.  If not, write to
0016     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017     Boston, MA 02110-1301, USA.
0018 
0019 */
0020 
0021 #ifndef PHONON_PACKET_P_H
0022 #define PHONON_PACKET_P_H
0023 
0024 #include <QAtomicInt>
0025 
0026 namespace Phonon
0027 {
0028 
0029 class PacketPoolPrivate;
0030 class PacketPrivate
0031 {
0032 public:
0033     inline PacketPrivate(char *_data, PacketPoolPrivate *_pool)
0034         : ref(0), m_size(0), m_data(_data), m_pool(_pool) {}
0035     inline PacketPrivate() : ref(1), m_size(0), m_data(nullptr), m_pool(nullptr) {}
0036 
0037     QAtomicInt ref;
0038 
0039     int m_size;
0040     char *const m_data;
0041     PacketPoolPrivate *const m_pool;
0042 };
0043 
0044 } // namespace Phonon
0045 
0046 #endif // PHONON_PACKET_P_H