#ifndef _CRESOURCE_H #define _CRESOURCE_H ///////////////////////////////////////////////////////////////////////////// #define MYSQL_PORT_AS_STRING "3306" /* Can't use # in preprocessor because of bugs in VC++ 5.0 */ class CResource { public: enum eRESOURCETYPE { eNone , eServer , eDatabase , eTable , eField , eProcesslist , eProcesslistItem }; virtual LPCTSTR GetDisplayName() { return ""; } virtual LPCTSTR GetHostName() { return LOCAL_HOST; } virtual LPCTSTR GetUserName() { return "root"; } virtual LPCTSTR GetPassword() { return ""; } virtual LPCTSTR GetPortName() { return MYSQL_PORT_AS_STRING; } virtual int GetPortNumber() { return MYSQL_PORT; } virtual eRESOURCETYPE GetType() { return eNone; } }; ///////////////////////////////////////////////////////////////////////////// class CResourceServer : public CResource { public: CResourceServer(LPCTSTR pszName = "",LPCTSTR pszHost = LOCAL_HOST ,LPCTSTR pszUser = "root", LPCTSTR pszPassword = "", LPCTSTR pszPort = MYSQL_PORT_AS_STRING) : m_strName(pszName) , m_strHost(pszHost) , m_strUser(pszUser) , m_strPassword(pszPassword) , m_strPort(pszPort) { } virtual LPCTSTR GetDisplayName() { return m_strName; } virtual LPCTSTR GetHostName() { return m_strHost; } virtual LPCTSTR GetUserName() { return m_strUser; } virtual LPCTSTR GetPassword() { return m_strPassword; } virtual eRESOURCETYPE GetType() { return eServer; } virtual LPCTSTR GetPortName() { return m_strPort; } virtual int GetPortNumber() { return atoi(m_strPort); } CString m_strName; CString m_strHost; CString m_strUser; CString m_strPassword; CString m_strPort; CStringArray m_rgFields; }; ///////////////////////////////////////////////////////////////////////////// class CResourceDatabase : public CResource { public: CResourceDatabase(LPCTSTR pszName = "") : m_strName(pszName) { } virtual LPCTSTR GetDisplayName() { return m_strName; } virtual eRESOURCETYPE GetType() { return eDatabase; } CString m_strName; CStringArray m_rgFields; }; ///////////////////////////////////////////////////////////////////////////// class CResourceTable : public CResource { public: CResourceTable(LPCTSTR pszName = "") : m_strName(pszName) { } virtual LPCTSTR GetDisplayName() { return m_strName; } virtual eRESOURCETYPE GetType() { return eTable; } CString m_strName; CStringArray m_rgFields; }; ///////////////////////////////////////////////////////////////////////////// class CResourceField : public CResource { public: CResourceField(LPCTSTR pszName = "") : m_strName(pszName) { } virtual LPCTSTR GetDisplayName() { return m_strName; } virtual eRESOURCETYPE GetType() { return eField; } CString m_strName; CStringArray m_rgFields; }; ///////////////////////////////////////////////////////////////////////////// class CResourceProcesslist : public CResource { public: CResourceProcesslist(LPCTSTR pszName = "Processlist") : m_strName(pszName) { } virtual LPCTSTR GetDisplayName() { return m_strName; } virtual eRESOURCETYPE GetType() { return eProcesslist; } CString m_strName; CStringArray m_rgFields; }; ///////////////////////////////////////////////////////////////////////////// class CResourceProcesslistItem : public CResourceProcesslist { public: CResourceProcesslistItem(LPCTSTR pszName = "ProcesslistItem") : CResourceProcesslist(pszName) { } virtual eRESOURCETYPE GetType() { return eProcesslistItem; } }; #endif