pgLab/pglablib/catalog/PgObject.h
eelke f0c1035378 Reorganize files in pglablib
The enitities and containers of the catalog now go into catalog subfolder
Models go into model
2018-12-16 11:31:33 +01:00

32 lines
805 B
C++

#ifndef PGOBJECT_H
#define PGOBJECT_H
#include <libpq-fe.h>
#include <QString>
class PgDatabaseCatalog;
class PgObject {
public:
explicit PgObject(PgDatabaseCatalog& cat, Oid oid, const QString &name);
virtual ~PgObject();
Oid oid() const;
const QString& objectName() const;
/// Default implementation uses objectName and add quotes when needed.
virtual QString quotedObjectName() const;
bool operator==(Oid _oid) const { return m_oid == _oid; }
bool operator==(const QString &n) const { return m_name == n; }
bool operator<(Oid _oid) const { return m_oid < _oid; }
bool operator<(const PgObject &rhs) const { return m_oid < rhs.m_oid; }
protected:
const PgDatabaseCatalog& catalog() const;
private:
PgDatabaseCatalog* m_catalog;
Oid m_oid;
QString m_name;
};
#endif // PGOBJECT_H