File: pgUser.h

package info (click to toggle)
pgadmin3 1.20.0~beta2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 73,704 kB
  • ctags: 18,591
  • sloc: cpp: 193,786; ansic: 18,736; sh: 5,154; pascal: 1,120; yacc: 927; makefile: 516; lex: 421; xml: 126; perl: 40
file content (135 lines) | stat: -rw-r--r-- 2,697 bytes parent folder | download
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