mirror of
https://github.com/levinsv/pgadmin3.git
synced 2026-05-15 06:05:49 -06:00
166 lines
3.6 KiB
C++
166 lines
3.6 KiB
C++
//////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// pgAdmin III - PostgreSQL Tools
|
|
//
|
|
// Copyright (C) 2002 - 2016, The pgAdmin Development Team
|
|
// This software is released under the PostgreSQL Licence
|
|
//
|
|
// edbPackageFunction.h - EnterpriseDB Package member function
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef EDBPACKAGEFUNCTION_H
|
|
#define EDBPACKAGEFUNCTION_H
|
|
|
|
#include "edbPackage.h"
|
|
|
|
class pgCollection;
|
|
class edbPackageFunction;
|
|
|
|
class edbPackageFunctionFactory : public edbPackageObjFactory
|
|
{
|
|
public:
|
|
edbPackageFunctionFactory(const wxChar *tn = 0, const wxChar *ns = 0, const wxChar *nls = 0, wxImage *img = 0);
|
|
virtual dlgProperty *CreateDialog(frmMain *frame, pgObject *node, pgObject *parent)
|
|
{
|
|
return 0;
|
|
};
|
|
virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
|
|
pgCollection *CreateCollection(pgObject *obj);
|
|
|
|
edbPackageFunction *AppendFunctions(pgObject *obj, edbPackage *package, ctlTree *browser, const wxString &restriction);
|
|
};
|
|
extern edbPackageFunctionFactory packageFunctionFactory;
|
|
|
|
|
|
class edbPackageFunction : public edbPackageObject
|
|
{
|
|
public:
|
|
edbPackageFunction(edbPackage *newPackage, const wxString &newName = wxT(""));
|
|
edbPackageFunction(edbPackage *newPackage, pgaFactory &factory, const wxString &newName = wxT(""));
|
|
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
void ShowTreeDetail(ctlTree *browser, frmMain *form = 0, ctlListView *properties = 0, ctlSQLBox *sqlPane = 0);
|
|
|
|
wxString GetSql(ctlTree *browser);
|
|
|
|
pgObject *Refresh(ctlTree *browser, const wxTreeItemId item);
|
|
|
|
virtual bool GetIsProcedure() const
|
|
{
|
|
return false;
|
|
}
|
|
|
|
wxString GetFullName();
|
|
wxString GetArgListWithNames();
|
|
wxString GetArgSigList();
|
|
|
|
wxArrayString &GetArgNamesArray()
|
|
{
|
|
return argNamesArray;
|
|
}
|
|
void iAddArgName(const wxString &s)
|
|
{
|
|
argNamesArray.Add(s);
|
|
}
|
|
wxArrayString &GetArgTypesArray()
|
|
{
|
|
return argTypesArray;
|
|
}
|
|
void iAddArgType(const wxString &s)
|
|
{
|
|
argTypesArray.Add(s);
|
|
}
|
|
wxArrayString &GetArgModesArray()
|
|
{
|
|
return argModesArray;
|
|
}
|
|
void iAddArgMode(const wxString &s)
|
|
{
|
|
argModesArray.Add(s);
|
|
}
|
|
wxArrayString &GetArgDefsArray()
|
|
{
|
|
return argDefsArray;
|
|
}
|
|
void iAddArgDef(const wxString &s)
|
|
{
|
|
argDefsArray.Add(s);
|
|
}
|
|
|
|
wxString GetReturnType() const
|
|
{
|
|
return returnType;
|
|
}
|
|
void iSetReturnType(const wxString &s)
|
|
{
|
|
returnType = s;
|
|
}
|
|
wxString GetSource() const
|
|
{
|
|
return source;
|
|
}
|
|
void iSetSource(const wxString &s)
|
|
{
|
|
source = s;
|
|
}
|
|
wxString GetVisibility() const
|
|
{
|
|
return visibility;
|
|
}
|
|
void iSetVisibility(const wxString &s)
|
|
{
|
|
visibility = s;
|
|
}
|
|
long GetArgCount() const
|
|
{
|
|
return argCount;
|
|
}
|
|
void iSetArgCount(long ac)
|
|
{
|
|
argCount = ac;
|
|
}
|
|
|
|
bool CanCreate()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
private:
|
|
long argCount;
|
|
wxArrayString argNamesArray, argTypesArray, argModesArray, argDefsArray;
|
|
wxString returnType, source, visibility;
|
|
};
|
|
|
|
class edbPackageFunctionCollection : public edbPackageObjCollection
|
|
{
|
|
public:
|
|
edbPackageFunctionCollection(pgaFactory *factory, edbPackage *pkg);
|
|
wxString GetTranslatedMessage(int kindOfMessage) const;
|
|
};
|
|
|
|
class edbPackageProcedureFactory : public edbPackageFunctionFactory
|
|
{
|
|
public:
|
|
edbPackageProcedureFactory();
|
|
virtual pgObject *CreateObjects(pgCollection *obj, ctlTree *browser, const wxString &restr = wxEmptyString);
|
|
};
|
|
extern edbPackageProcedureFactory packageProcedureFactory;
|
|
|
|
|
|
class edbPackageProcedure : public edbPackageFunction
|
|
{
|
|
public:
|
|
edbPackageProcedure(edbPackage *newPackage, const wxString &newName = wxT(""));
|
|
wxString GetFullName();
|
|
|
|
bool GetIsProcedure() const
|
|
{
|
|
return true;
|
|
}
|
|
|
|
wxString GetSql(ctlTree *browser);
|
|
};
|
|
|
|
|
|
#endif
|