1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
/*************************************************************************
WavPropertyMap.h - map for translating properties to chunk names
-------------------
begin : Sat Jul 06 2002
copyright : (C) 2002 by Thomas Eschenbacher
email : Thomas.Eschenbacher@gmx.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef WAV_PROPERTY_MAP_H
#define WAV_PROPERTY_MAP_H
#include "config.h"
#include <QByteArray>
#include <QList>
#include <QPair>
#include <QString>
#include "libkwave/FileInfo.h"
namespace Kwave
{
class WavPropertyMap
:protected QList< QPair<Kwave::FileProperty, QByteArray> >
{
public:
/** Default constructor, with initializing */
WavPropertyMap();
/** Destructor */
virtual ~WavPropertyMap() {}
/**
* Returns the chunk name of a property or an empty string
* if nothing found (reverse lookup).
*/
QByteArray findProperty(const Kwave::FileProperty property) const;
/** Returns true if the map contains a given property */
bool containsProperty(const Kwave::FileProperty property) const;
/**
* insert a new property / chunk mapping
*
* @param property a Kwave FileProperty
* @param chunk a 4-byte chunk name
*/
void insert(const Kwave::FileProperty property,
const QByteArray &chunk);
/**
* returns true if a given chunk is in the list
*
* @param chunk a 4-byte chunk name
* @return true if found, false if not
*/
bool containsChunk(const QByteArray &chunk) const;
/** returns a list of all known chunks */
QList<QByteArray> chunks() const;
/**
* Returns the first FileProperty that matches a given chunk
*
* @param chunk a 4-byte chunk name
* @return a FileProperty
*/
Kwave::FileProperty property(const QByteArray &chunk) const;
/** Returns a list with all supported properties */
QList<Kwave::FileProperty> properties() const;
private:
typedef QPair<Kwave::FileProperty, QByteArray> Pair;
};
}
#endif /* WAV_PROPERTY_MAP_H */
//***************************************************************************
//***************************************************************************
|