]> jfr.im git - irc/rizon/znc.git/commitdiff
Include less headers in WebModules.h
authorUli Schlachter <redacted>
Sun, 3 Apr 2011 08:06:16 +0000 (10:06 +0200)
committerUli Schlachter <redacted>
Sun, 3 Apr 2011 08:06:16 +0000 (10:06 +0200)
From Client.h, only CAuthBase is needed. This is solved by moving the whole
CWebAuth class to WebModules.cpp.

The include of FileUtils.h is avoided by changing the API. GetAvailSkins() now
returns the skin names instead of a CFile for the skin's path.

Signed-off-by: Uli Schlachter <redacted>
WebModules.cpp
WebModules.h
modules/webadmin.cpp

index 9c1a203e9e654141f56ad2ce4d8b5943e9328cfc..071b2f9ad9833deb6c9f9eb42a05ec5384f8ebda 100644 (file)
@@ -34,6 +34,20 @@ typedef std::multimap<CString, CWebSession*>::iterator mIPSessionsIterator;
 
 static CSessionManager Sessions;
 
+class CWebAuth : public CAuthBase {
+public:
+       CWebAuth(CWebSock* pWebSock, const CString& sUsername, const CString& sPassword);
+       virtual ~CWebAuth() {}
+
+       void SetWebSock(CWebSock* pWebSock) { m_pWebSock = pWebSock; }
+       void AcceptedLogin(CUser& User);
+       void RefusedLogin(const CString& sReason);
+       void Invalidate();
+private:
+protected:
+       CWebSock*   m_pWebSock;
+};
+
 void CWebSock::FinishUserSessions(const CUser& User) {
        Sessions.m_mspSessions.FinishUserSessions(User);
 }
@@ -198,7 +212,7 @@ void CWebSock::ParsePath() {
        DEBUG("Path [" + m_sPath + "], Module [" + m_sModName + "], Page [" + m_sPage + "]");
 }
 
-size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
+void CWebSock::GetAvailSkins(VCString& vRet) const {
        vRet.clear();
 
        CString sRoot(GetSkinPath("_default_"));
@@ -218,7 +232,8 @@ size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
                        const CFile& SubDir = *Dir[d];
 
                        if (SubDir.IsDir() && SubDir.GetShortName() == "_default_") {
-                               vRet.push_back(SubDir);
+                               vRet.push_back(SubDir.GetShortName());
+                               break;
                        }
                }
 
@@ -226,12 +241,10 @@ size_t CWebSock::GetAvailSkins(vector<CFile>& vRet) const {
                        const CFile& SubDir = *Dir[e];
 
                        if (SubDir.IsDir() && SubDir.GetShortName() != "_default_" && SubDir.GetShortName() != ".svn") {
-                               vRet.push_back(SubDir);
+                               vRet.push_back(SubDir.GetShortName());
                        }
                }
        }
-
-       return vRet.size();
 }
 
 VCString CWebSock::GetDirs(CModule* pModule, bool bIsTemplate) {
index 4d72f1471d95f31f3565b63a8695465e8114d0f5..40fe30793eed6c75019ec8145398f72759645d47 100644 (file)
 #define _WEBMODULES_H
 
 #include "zncconfig.h"
-#include "Client.h"
 #include "Template.h"
 #include "HTTPSock.h"
-#include "FileUtils.h"
 
+class CAuthBase;
+class CUser;
 class CWebSock;
 class CModule;
 class CWebSubPage;
@@ -91,20 +91,6 @@ private:
        VPair           m_vParams;
 };
 
-class CWebAuth : public CAuthBase {
-public:
-       CWebAuth(CWebSock* pWebSock, const CString& sUsername, const CString& sPassword);
-       virtual ~CWebAuth() {}
-
-       void SetWebSock(CWebSock* pWebSock) { m_pWebSock = pWebSock; }
-       void AcceptedLogin(CUser& User);
-       void RefusedLogin(const CString& sReason);
-       void Invalidate();
-private:
-protected:
-       CWebSock*   m_pWebSock;
-};
-
 class CWebSessionMap : public TCacheMap<CString, CSmartPtr<CWebSession> > {
        public:
                CWebSessionMap(unsigned int uTTL = 5000) : TCacheMap<CString, CSmartPtr<CWebSession> >(uTTL) {}
@@ -141,7 +127,7 @@ public:
        virtual Csock* GetSockObj(const CString& sHost, unsigned short uPort);
        static CString GetSkinPath(const CString& sSkinName);
        CModule* GetModule() const { return (CModule*) m_pModule; }
-       size_t GetAvailSkins(vector<CFile>& vRet) const;
+       void GetAvailSkins(VCString& vRet) const;
        CString GetSkinName();
 
        CString GetRequestCookie(const CString& sKey);
index f5f19e31eeb6cfd26ab303a2fb068b21c5d047e2..6ef3d6234fefb0e9918db891cee027da5745b75a 100644 (file)
@@ -724,15 +724,15 @@ public:
                                }
                        }
 
-                       vector<CFile> vDirs;
+                       vector<CString> vDirs;
                        WebSock.GetAvailSkins(vDirs);
 
                        for (unsigned int d = 0; d < vDirs.size(); d++) {
-                               const CFile& SubDir = vDirs[d];
+                               const CString& SubDir = vDirs[d];
                                CTemplate& l = Tmpl.AddRow("SkinLoop");
-                               l["Name"] = SubDir.GetShortName();
+                               l["Name"] = SubDir;
 
-                               if (pUser && SubDir.GetShortName() == pUser->GetSkinName()) {
+                               if (pUser && SubDir == pUser->GetSkinName()) {
                                        l["Checked"] = "true";
                                }
                        }
@@ -1019,15 +1019,15 @@ public:
 #endif
                        }
 
-                       vector<CFile> vDirs;
+                       vector<CString> vDirs;
                        WebSock.GetAvailSkins(vDirs);
 
                        for (unsigned int d = 0; d < vDirs.size(); d++) {
-                               const CFile& SubDir = vDirs[d];
+                               const CString& SubDir = vDirs[d];
                                CTemplate& l = Tmpl.AddRow("SkinLoop");
-                               l["Name"] = SubDir.GetShortName();
+                               l["Name"] = SubDir;
 
-                               if (SubDir.GetShortName() == CZNC::Get().GetSkinName()) {
+                               if (SubDir == CZNC::Get().GetSkinName()) {
                                        l["Checked"] = "true";
                                }
                        }