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
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// dlgRepCluster.h - Slony-I cluster property
//
//////////////////////////////////////////////////////////////////////////
#ifndef __DLG_REPCLUSTERPROP
#define __DLG_REPCLUSTERPROP
#include "dlg/dlgProperty.h"
class slCluster;
class sysProcess;
class wxProcessEvent;
class dlgRepClusterBase : public dlgProperty
{
public:
dlgRepClusterBase(pgaFactory *factory, frmMain *frame, const wxString &dlgName, slCluster *cl, pgDatabase *obj);
~dlgRepClusterBase();
pgObject *GetObject();
int Go(bool modal);
private:
virtual void OnChangeCluster(wxCommandEvent &ev) = 0;
protected:
void OnChangeServer(wxCommandEvent &ev);
void OnChangeDatabase(wxCommandEvent &ev);
bool AddScript(wxString &sql, const wxString &filename);
slCluster *cluster;
wxTreeItemId servers;
pgServer *remoteServer;
pgConn *remoteConn;
wxString remoteVersion;
wxString createScript;
DECLARE_EVENT_TABLE()
};
class dlgRepCluster : public dlgRepClusterBase
{
public:
dlgRepCluster(pgaFactory *factory, frmMain *frame, slCluster *cl, pgDatabase *obj);
int Go(bool modal);
wxString GetHelpPage() const;
void CheckChange();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
private:
void OnOK(wxCommandEvent &ev);
void OnChangeJoin(wxCommandEvent &ev);
void OnChangeCluster(wxCommandEvent &ev);
void OnEndProcess(wxProcessEvent &event);
bool CopyTable(pgConn *from, pgConn *to, const wxString &table);
sysProcess *process;
bool SlonyMaximumVersion(const wxString &series, long minor);
wxArrayLong usedNodes;
wxString clusterBackup;
wxString slonyVersion;
DECLARE_EVENT_TABLE()
};
class dlgRepClusterUpgrade : public dlgRepClusterBase
{
public:
dlgRepClusterUpgrade(pgaFactory *factory, frmMain *frame, slCluster *cl);
int Go(bool modal);
wxString GetHelpPage() const
{
return wxT("slony-install#upgrade");
}
void CheckChange();
wxString GetSql();
pgObject *CreateObject(pgCollection *collection);
private:
void OnChangeCluster(wxCommandEvent &ev);
wxString version;
wxString sql;
DECLARE_EVENT_TABLE()
};
#endif
|