/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_plugins_thread_tdb #define headerfile_winix_plugins_thread_tdb #include #include "thread.h" #include "db/dbbase.h" #include "core/error.h" namespace Thread { class TDb : public DbBase { public: Error AddThread(const Thread & thread); Error GetThreadByFileId(long file_id, Thread & thread); Error GetThreads(const std::vector & file_id_tab, std::vector & thread_tab); Error GetAnswers(long file_id, std::vector & answer_id_tab); Error EditThreadAddItem(long file_id, long answer_id); Error EditThreadRemoveItem(long file_id); Error RemoveThread(long file_id); long FindLastItem(long file_id); private: DbTextStream query; std::wstring list_id; int cfile_id, creplies, cclosed, clast_item, cdate_modification, cuser_id, cguest; Thread thread_temp; std::vector file_id_tab; void SetThreadColumns(PGresult * r); void SetThread(PGresult * r, int col, Thread & thread); Error EditThreadRecalcFiles(const std::vector & file_id_tab); }; } // namespace #endif