////////////////////////////////////////////////////////////////////////// // // pgAdmin III - PostgreSQL Tools // RCS-ID: $Id: $ // Copyright (C) 2002 - 2009, The pgAdmin Development Team // This software is released under the Artistic Licence // // pgResQueue.h - Greenplum Resource Queue // ////////////////////////////////////////////////////////////////////////// #ifndef PGRESQUEUE_H #define PGRESQUEUE_H #include "pgServer.h" class pgResQueueFactory : public pgServerObjFactory { public: pgResQueueFactory(); pgResQueueFactory(const wxChar *tn, const wxChar *ns, const wxChar *nls, const char **img); virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent); virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr=wxEmptyString); }; extern pgResQueueFactory resQueueFactory; // Class declarations class pgResQueue : public pgServerObject { protected: pgResQueue(pgaFactory &factory, const wxString& newName = wxT("")); public: pgResQueue(const wxString& newName = wxT("")); int GetIconId(); double GetCountLimit() const { return countlimit; } double GetCostLimit() const { return costlimit; } bool GetOvercommit() const { return overcommit; } double GetIgnoreCostLimit() const { return ignorecostlimit; } void iSetCountLimit(double newVal) { countlimit = newVal; } void iSetCostLimit(double newVal) { costlimit = newVal; } void iSetOvercommit(bool newVal) { overcommit = newVal; } void iSetIgnoreCostLimit(double newVal) { ignorecostlimit = newVal; } // Tree object creation void ShowTreeDetail(ctlTree *browser, frmMain *form=0, ctlListView *properties=0, ctlSQLBox *sqlPane=0); // 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: wxArrayString queuesIn; double countlimit, costlimit, ignorecostlimit; bool overcommit; }; #endif