/*
 * This file is part of the xTuple ERP: PostBooks Edition, a free and
 * open source Enterprise Resource Planning software suite,
 * Copyright (c) 1999-2012 by OpenMFG LLC, d/b/a xTuple.
 * It is licensed to you under the Common Public Attribution License
 * version 1.0, the full text of which (including xTuple-specific Exhibits)
 * is available at www.xtuple.com/CPAL.  By using this software, you agree
 * to be bound by its terms.
 */

#ifndef __CSVATLAS_H__
#define __CSVATLAS_H__

#include <QString>
#include <QStringList>
#include <QList>

#include "csvmap.h"

class QDomDocument;
class QDomElement;

class CSVAtlas
{
  public:
    CSVAtlas();
    CSVAtlas(const QDomElement &);
    virtual ~CSVAtlas();

    void setDescription(const QString &);
    QString description() const { return _description; }

    void setMap(const CSVMap &);
    bool removeMap(const QString &);
    CSVMap map(const QString &) const;
    QStringList mapList() const;

    QDomElement createElement(QDomDocument &);

  protected:
    QList<CSVMap> _maps;
    QString _description;

    bool _valid;
    QString _lastError();
};

#endif

