1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, 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
|