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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, 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
|