view common/ComposerFileIndex.h @ 53:bcea875d8d2f tip

More build fixes
author Chris Cannam
date Thu, 16 Oct 2014 19:03:51 +0100
parents 273bd328b215
children
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

#ifndef _CLASSICAL_DATA_COMPOSER_FILE_INDEX_H_
#define _CLASSICAL_DATA_COMPOSER_FILE_INDEX_H_

#include "Objects.h"

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

#include <QMutex>

namespace ClassicalData {

class ComposerFileIndex : public QObject
{
    Q_OBJECT

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

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

public slots:
    void composerFileAdded(QString filepath);

private:
    QMutex m_mutex;
    QString m_indexFileName;
    Dataquay::BasicStore *m_bs;
    Dataquay::TransactionalStore *m_index;
    QString getIndexFileName();
    QString getComposerDirectoryName();
    bool loadFor(Dataquay::Uri canonicalUri, Dataquay::Uri actingUri,
                 QString hash, Dataquay::Store *);
    void updateIndex();
    void index(QUrl);
};

}

#endif