mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 14:15:49 -06:00
135 lines
2.6 KiB
C++
135 lines
2.6 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// pgUser.h - PostgreSQL User
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef PGUSER_H
|
|
#define PGUSER_H
|
|
|
|
#include "pgServer.h"
|
|
|
|
class pgUserFactory : public pgServerObjFactory
|
|
{
|
|
public:
|
|
pgUserFactory();
|
|
virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent);
|
|
virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
|
|
};
|
|
extern pgUserFactory userFactory;
|
|
|
|
|
|
// Class declarations
|
|
class pgUser : public pgServerObject
|
|
{
|
|
public:
|
|
pgUser(const wxString &newName = wxT(""));
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
|
|
// User Specific
|
|
bool GetSystemObject() const
|
|
{
|
|
return userId < 100;
|
|
}
|
|
long GetUserId() const
|
|
{
|
|
return userId;
|
|
}
|
|
void iSetUserId(const long l)
|
|
{
|
|
userId = l;
|
|
}
|
|
wxDateTime GetAccountExpires() const
|
|
{
|
|
return accountExpires;
|
|
}
|
|
void iSetAccountExpires(const wxDateTime &dt)
|
|
{
|
|
accountExpires = dt;
|
|
}
|
|
wxString GetPassword() const
|
|
{
|
|
return password;
|
|
}
|
|
void iSetPassword(const wxString &s)
|
|
{
|
|
password = s;
|
|
}
|
|
bool GetCreateDatabase() const
|
|
{
|
|
return createDatabase;
|
|
}
|
|
void iSetCreateDatabase(const bool b)
|
|
{
|
|
createDatabase = b;
|
|
}
|
|
bool GetSuperuser() const
|
|
{
|
|
return superuser;
|
|
}
|
|
void iSetSuperuser(const bool b)
|
|
{
|
|
superuser = b;
|
|
}
|
|
bool GetUpdateCatalog() const
|
|
{
|
|
return updateCatalog;
|
|
}
|
|
void iSetUpdateCatalog(const bool b)
|
|
{
|
|
updateCatalog = b;
|
|
}
|
|
wxArrayString &GetGroupsIn()
|
|
{
|
|
return groupsIn;
|
|
}
|
|
wxArrayString &GetConfigList()
|
|
{
|
|
return configList;
|
|
}
|
|
|
|
|
|
// Tree object creation
|
|
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
|
|
void ShowDependents(frmMain *form, ctlListView *referencedBy, const wxString &where);
|
|
|
|
// virtual methods
|
|
wxString GetSql(ctlTree *browser);
|
|
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
|
|
bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);
|
|
|
|
bool HasStats()
|
|
{
|
|
return false;
|
|
}
|
|
bool HasDepends()
|
|
{
|
|
return true;
|
|
}
|
|
bool HasReferences()
|
|
{
|
|
return true;
|
|
}
|
|
|
|
private:
|
|
wxString password;
|
|
wxDateTime accountExpires;
|
|
bool createDatabase, superuser, updateCatalog;
|
|
wxArrayString groupsIn;
|
|
wxArrayString configList;
|
|
long userId;
|
|
};
|
|
|
|
class pgUserCollection : public pgServerObjCollection
|
|
{
|
|
public:
|
|
pgUserCollection(pgaFactory *factory, pgServer *sv);
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
};
|
|
|
|
#endif
|