version 0.2.16
[fms.git] / include / nntp / nntpconnection.h
index d2bf167..d116148 100644 (file)
@@ -4,12 +4,25 @@
 #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
+//#include <zthread/Runnable.h>\r
+#include "../pthreadwrapper/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 PThread::Runnable,public ILogger\r
 {\r
 public:\r
        NNTPConnection(SOCKET sock);\r
@@ -18,7 +31,7 @@ public:
        void Disconnect();\r
        const bool Disconnected()               { return m_socket==INVALID_SOCKET; }\r
 \r
-       void run();\r
+       void Run();\r
 \r
 private:\r
 \r
@@ -39,6 +52,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 +66,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 +86,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