version 0.3.12
[fms.git] / include / nntp / nntpconnection.h
index d2bf167..15c2080 100644 (file)
@@ -1,15 +1,27 @@
 #ifndef _nntpconnection_\r
 #define _nntpconnection_\r
 \r
+#include "../threadwrapper/cancelablerunnable.h"\r
 #include "../socketdefines.h"\r
 #include "../ilogger.h"\r
 #include "../message.h"\r
+#include "../localidentity.h"\r
 \r
 #include <string>\r
 #include <vector>\r
-#include <zthread/Runnable.h>\r
 \r
-class NNTPConnection:public ZThread::Runnable,public ILogger//,public IDatabase\r
+#ifdef _WIN32\r
+\r
+#else\r
+       #include <sys/socket.h>\r
+       #include <sys/select.h>\r
+       #include <sys/types.h>\r
+       #include <netdb.h>\r
+       #include <netinet/in.h>\r
+       #include <arpa/inet.h>\r
+#endif\r
+\r
+class NNTPConnection:public CancelableRunnable,public ILogger\r
 {\r
 public:\r
        NNTPConnection(SOCKET sock);\r
@@ -39,6 +51,8 @@ private:
                bool m_isposting;\r
                long m_boardid;\r
                long m_messageid;\r
+               LocalIdentity m_authuser;               // -1 if user not authenticated, otherwise id of user from tblLocalIdentity\r
+               bool m_authenticated;\r
        };\r
 \r
        void SendBuffered(const std::string &data);\r
@@ -51,7 +65,7 @@ private:
        void HandlePostedMessage(const std::string &message);\r
 \r
        void SendArticleParts(const NNTPCommand &command);\r
-       void SendArticleOverInfo(const Message &message);\r
+       void SendArticleOverInfo(Message &message);\r
 \r
        // various NNTP commands to handle\r
        const bool HandleQuitCommand(const NNTPCommand &command);\r
@@ -71,6 +85,10 @@ private:
        const bool HandleNewGroupsCommand(const NNTPCommand &command);\r
        const bool HandlePostCommand(const NNTPCommand &command);\r
        const bool HandleOverCommand(const NNTPCommand &command);\r
+       const bool HandleAuthInfoCommand(const NNTPCommand &command);\r
+       const bool HandleGetTrustCommand(const NNTPCommand &command);\r
+       const bool HandleSetTrustCommand(const NNTPCommand &command);\r
+       const bool HandleGetTrustListCommand(const NNTPCommand &command);\r
 \r
        SOCKET m_socket;\r
        ClientStatus m_status;\r