view common/FeatureFileIndex.h @ 45:0033259c6772

* More Music Ontology-like structure for audio files & signals
author Chris Cannam
date Fri, 14 May 2010 17:58:04 +0100
parents ed2befdf1e98
children c8b777862198
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

#ifndef _CLASSICAL_DATA_FEATURE_FILE_INDEX_H_
#define _CLASSICAL_DATA_FEATURE_FILE_INDEX_H_

#include "Objects.h"

#include <dataquay/BasicStore.h>
#include <dataquay/TransactionalStore.h>

#include <QMutex>

namespace ClassicalData {

class FeatureFileIndex : public QObject
{
    Q_OBJECT

public:
    static FeatureFileIndex *getInstance();
    
    FeatureFileIndex();
    ~FeatureFileIndex();

    void loadFor(AudioFile *, Dataquay::Store *);

public slots:
    void featureFileAdded(QString filepath);

private:
    QMutex m_mutex;
    QString m_indexFileName;
    Dataquay::BasicStore *m_bs;
    Dataquay::TransactionalStore *m_index;
    QString getIndexFileName();
    QString getFeatureDirectoryName();
    void updateIndex();
    void index(QUrl);
};

}

#endif