#ifndef PGOBJECT_H #define PGOBJECT_H #include #include 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