///////////////////////////////////////////////////////////////////////////// // Name: dbserver.h // Purpose: Database Server // Author: Daniel Horak // Modified by: // RCS-ID: $Id: dbserver.h,v 1.2 2003/12/21 22:04:34 horakdan Exp $ // Copyright: (c) Daniel Horak // Licence: GPL ///////////////////////////////////////////////////////////////////////////// #ifndef __DBSERVER_H #define __DBSERVER_H #ifdef HAVE_XSLT_SUPPORT #include #include #include #include #include #include #include #include #include #include #include #endif // Types of servers enum DBServerType { DBServerTypeGeneric, DBServerTypePostgreSQL, DBServerTypeOracle, DBServerTypeDB2, DBServerTypeMySQL, DBServerTypeInterBase }; class DataDesignerView; /* * -------------------------------------------------------------------------- * Generic Database Server */ class DBServer : public wxObject { public: DBServer(DBServerType type, const wxString& name, const wxString& version = wxEmptyString, const wxString& xslt = wxEmptyString); virtual ~DBServer(); wxString GetName() { return m_name; } wxString GetVersion() { return m_version; } wxString GetFullName() { return m_name + " " + m_version; } virtual wxString* GetTypes() { return NULL; } virtual int GetTypesCount() { return 0; } virtual wxString* GetLanguages() { return NULL; } virtual int GetLanguagesCount() { return 0; } virtual bool ExportDDL(DataDesignerView *view); #ifdef HAVE_XSLT_SUPPORT bool Transform(DataDesignerView *view, xsltStylesheetPtr stylesheet); xsltStylesheetPtr ParseStyle(wxString& xslt); #endif private: DBServerType m_type; wxString m_name; wxString m_version; wxString m_xslt; #ifdef HAVE_XSLT_SUPPORT xsltStylesheetPtr m_stylesheet; #endif }; void InitServers(); void DestroyServers(); int GetServerCount(); wxString *GetServerNames(); DBServer *GetServerByName(const wxString& name); #endif // __DBSERVER_H