Files
winix/plugins/thread/threadinfo.h
Tomasz Sowa d68731fd55 fixed: thread plugin didn't correctly set the last item and replies (in 'thread' table)
when deleting an answer
added: ThreadInfo::Repair() method
       will be used by 'fsck' winix function       
added: plugins/groupitem 
       directory for a new plugin: 'groupitem'
       


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@725 e52654a7-88a9-db11-a3e9-0013d4bc506e
2011-03-23 17:54:53 +00:00

95 lines
1.6 KiB
C++
Executable File

/*
* 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_threadinfo
#define headerfile_winix_plugins_thread_threadinfo
#include <vector>
#include "core/item.h"
#include "core/system.h"
#include "db/db.h"
#include "thread.h"
#include "tdb.h"
namespace Thread
{
class ThreadInfo
{
public:
void SetDb(Db * pdb);
void SetTDb(TDb * ptdb);
void SetSystem(System * psystem);
void Clear();
Item * FindThreadDir();
// id of a mount type
int mount_type_thread;
// enable a thread in a specific directory
// and set sort type (asc, desc)
int mount_par_thread;
// a special directory in which we store the answers
int mount_par_thread_dir;
// id of the current plugin
int plugin_id;
// files in the current directory
// used for 'show_threads' or 'thread' function
std::vector<Item> item_tab;
// additional info to the above files if 'show_threads' is used
// sorted by file_id
std::vector<Thread> thread_tab;
// for sorting
std::vector<Item*> item_sort_tab;
// template index for notifications
size_t template_index;
void RemoveThread(long file_id);
void RemoveThreadAnswer(long answer_id);
// repairing the database
void Repair();
private:
Db * db;
TDb * tdb;
System * system;
std::vector<Item*> out_dir_tab;
std::vector<long> remove_answer_id_tab, repair_id_tab, repair_answer_tab;
Item out_item, repair_item;
DbItemQuery iq;
void RepairAnswer(long answer_id);
void RepairAnswers(long file_id);
void Repair(long file_id);
};
} // namespace
#endif