File: pgaStep.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 (140 lines) | stat: -rw-r--r-- 2,703 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
136
137
138
139
140
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// pgaStep.h - PostgreSQL Agent Job Step
//
//////////////////////////////////////////////////////////////////////////

#ifndef PGASTEP_H
#define PGASTEP_H

#include "agent/pgaJob.h"



class pgaStepFactory : public pgaJobObjFactory
{
public:
	pgaStepFactory();
	virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent);
	virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
	virtual pgCollection *CreateCollection(pgObject *obj);
};
extern pgaStepFactory stepFactory;


class pgaStep : public pgaJobObject
{
public:
	pgaStep(pgCollection *collection, const wxString &newName = wxT(""));

	wxString GetTranslatedMessage(int kindOfMessage) const;
	void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
	void ShowStatistics(frmMain *form, ctlListView *statistics);
	pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
	bool DropObject(wxFrame *frame, ctlTree *browser, bool cascaded);

	bool GetEnabled() const
	{
		return enabled;
	}
	void iSetEnabled(const bool b)
	{
		enabled = b;
	}
	wxChar GetKindChar() const
	{
		return kindChar;
	}
	void iSetKindChar(const wxChar c)
	{
		kindChar = c;
	}
	wxString GetKind() const
	{
		return kind;
	}
	void iSetKind(const wxString &s)
	{
		kind = s;
	}
	wxString GetCode() const
	{
		return code;
	}
	void iSetCode(const wxString &s)
	{
		code = s;
	}
	wxString GetDbname() const
	{
		return dbname;
	}
	void iSetDbname(const wxString &s)
	{
		dbname = s;
	}
	wxString GetConnStr() const
	{
		return connstr;
	}
	void iSetConnStr(const wxString &s)
	{
		connstr = s;
	}
	wxString GetOnError() const
	{
		return onError;
	}
	void iSetOnError(const wxString &s)
	{
		onError = s;
	}
	wxChar GetOnErrorChar() const
	{
		return onErrorChar;
	}
	void iSetOnErrorChar(const wxChar c)
	{
		onErrorChar = c;
	}
	long GetRecId() const
	{
		return recId;
	}
	void iSetRecId(const long l)
	{
		recId = l;
	}

	bool HasConnectionString() const
	{
		return !connstr.IsEmpty();
	}

	bool IsUpToDate();

	wxString GetHelpPage(bool forCreate) const
	{
		return wxT("pgagent-steps");
	}

private:
	bool enabled;
	wxString kind, code, dbname, connstr, onError;
	wxChar kindChar, onErrorChar;
	long recId;
};

class pgaStepCollection : public pgaJobObjCollection
{
public:
	pgaStepCollection(pgaFactory *factory, pgaJob *job);
	wxString GetTranslatedMessage(int kindOfMessage) const;
};

#endif