- Author:
- Matthias K?nig <matthias.koenig@charite.de>
- Date:
- 2013-04-18 21:52:42+02:00
- Desc:
- Wolf Heinrich Example implemented and working !
- Permanent Source URI:
- https://models.cellml.org/w/matthiaskoenig/MetabolicComponentLibrary/rawfile/b9be078f1e2152d7c1b817af12a7ddcb8db3c0df/CellML-source/CellMLTools/cpp_rdf/cellmlfile.h
//==============================================================================
// CellML file class
//==============================================================================
#ifndef CELLMLFILE_H
#define CELLMLFILE_H
//==============================================================================
#include "cellmlfileissue.h"
#include "cellmlfilerdftriple.h"
#include "cellmlfileruntime.h"
#include "cellmlsupportglobal.h"
//==============================================================================
#include <QObject>
//==============================================================================
namespace OpenCOR {
namespace CellMLSupport {
//==============================================================================
class CELLMLSUPPORT_EXPORT CellmlFile : public QObject
{
Q_OBJECT
public:
explicit CellmlFile(const QString &pFileName);
~CellmlFile();
iface::cellml_api::Model * model() const;
iface::rdf_api::DataSource * rdfDataSource() const;
bool load();
bool reload();
bool save(const QString &pNewFileName = QString());
bool isValid();
bool isModified() const;
void setModified(const bool &pModified) const;
CellmlFileIssues issues() const;
CellmlFileRuntime * runtime();
QString fileName() const;
CellmlFileRdfTriples * rdfTriples();
QString uriBase() const;
CellmlFileRdfTriples rdfTriples(const QString &pCmetaId) const;
private:
QString mFileName;
ObjRef<iface::cellml_api::Model> mModel;
ObjRef<iface::rdf_api::RDFAPIRepresentation> mRdfApiRepresentation;
ObjRef<iface::rdf_api::DataSource> mRdfDataSource;
QString mUriBase;
CellmlFileRdfTriples mRdfTriples;
bool mValid;
CellmlFileIssues mIssues;
CellmlFileRuntime *mRuntime;
bool mLoadingNeeded;
bool mValidNeeded;
bool mRuntimeUpdateNeeded;
void reset();
void clearRdfTriples();
};
//==============================================================================
} // namespace CellMLSupport
} // namespace OpenCOR
//==============================================================================
#endif
//==============================================================================
// End of file
//==============================================================================