97 lines
1.6 KiB
C++
Executable File
97 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();
|
|
|
|
void MakeRedirectIfPossible(const Item & item);
|
|
|
|
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
|
|
|
|
|