we can create links (hard links, symbolic links) now

added winix functions: ln

winix function 'default' can be used without redirecting now

added new tickets types: TypeProgress, TypeString, TypeMultistring, TypeImages, TypeFiles
now tickets are combined with files
added winix functions: showtickets

fixed mountpoints:
when the default root mount was created its parameter table was empty
and it caused accessing to a non-existing objects

fixed logger:
modifiers (log1, log2, log3) were incorrectly treated
added modifier: log4 (debug info)

now we are moving threads to a new plugin 'thread'
created directory: plugins/thread
(not finished yet)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@704 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2011-01-05 21:24:11 +00:00
parent bb83aed20d
commit 8154c403d8
113 changed files with 5840 additions and 2972 deletions

View File

@@ -1,5 +1,8 @@
#include "ticketparser.h"
#include "core/log.h"
#include "core/misc.h"
bool TicketParser::IsWhite(int c)
@@ -121,9 +124,21 @@ bool TicketParser::ReadItemType()
if( type == L"integer" )
item.type = TicketConf::TicketItem::TypeInteger;
else
if( type == L"progress" )
item.type = TicketConf::TicketItem::TypeProgress;
else
if( type == L"select" )
item.type = TicketConf::TicketItem::TypeSelect;
else
if( type == L"string" )
item.type = TicketConf::TicketItem::TypeString;
else
if( type == L"images" )
item.type = TicketConf::TicketItem::TypeImages;
else
if( type == L"files" )
item.type = TicketConf::TicketItem::TypeFiles;
else
{
error = WINIX_TICKET_ERR_UKNOWN_TYPE;
return false;
@@ -194,6 +209,30 @@ bool def;
}
void TicketParser::ReadItemString()
{
}
bool TicketParser::ReadItemFiles()
{
ReadText(item.upload_dir);
if( item.upload_dir.empty() )
{
error = WINIX_TICKET_ERR_NO_UPLOAD_DIR;
return false;
}
ReadText(int_max);
if( !int_max.empty() )
item.max_files = Toi(int_max);
return true;
}
bool TicketParser::CheckEndLine()
{
SkipWhite();
@@ -224,7 +263,18 @@ bool TicketParser::ReadItem()
if( item.type == TicketConf::TicketItem::TypeInteger )
ReadItemInteger();
else
if( item.type == TicketConf::TicketItem::TypeProgress )
ReadItemInteger();
else
if( item.type == TicketConf::TicketItem::TypeSelect )
ReadItemSelect();
else
if( item.type == TicketConf::TicketItem::TypeString || item.type == TicketConf::TicketItem::TypeMultistring )
ReadItemString();
else
if( item.type == TicketConf::TicketItem::TypeImages || item.type == TicketConf::TicketItem::TypeFiles )
if( !ReadItemFiles() )
return false;
if( !CheckEndLine() )
return false;
@@ -244,6 +294,16 @@ void TicketParser::LogItemInteger(TicketConf::TicketItem & item)
}
void TicketParser::LogItemProgress(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: progress"
<< ", item_name: " << item.name
<< ", item_id: " << item.id
<< ", min: " << item.integer_min
<< ", max: " << item.integer_max
<< logend;
}
void TicketParser::LogItemSelect(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: select"
@@ -268,13 +328,69 @@ void TicketParser::LogItemSelect(TicketConf::TicketItem & item)
}
void TicketParser::LogItemString(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: string"
<< ", item_name: " << item.name
<< ", item_id: " << item.id
<< logend;
}
void TicketParser::LogItemMultistring(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: multistring"
<< ", item_name: " << item.name
<< ", item_id: " << item.id
<< logend;
}
void TicketParser::LogItemImages(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: images"
<< ", item_name: " << item.name
<< ", item_id: " << item.id
<< ", item_upload_dir: " << item.upload_dir
<< logend;
}
void TicketParser::LogItemFiles(TicketConf::TicketItem & item)
{
log << log3 << "TicketParser: item_type: files"
<< ", item_name: " << item.name
<< ", item_id: " << item.id
<< ", item_upload_dir: " << item.upload_dir
<< logend;
}
void TicketParser::LogItem(TicketConf::TicketItem & item)
{
if( item.type == TicketConf::TicketItem::TypeInteger )
LogItemInteger(item);
else
if( item.type == TicketConf::TicketItem::TypeProgress )
LogItemProgress(item);
else
if( item.type == TicketConf::TicketItem::TypeSelect )
LogItemSelect(item);
else
if( item.type == TicketConf::TicketItem::TypeString )
LogItemString(item);
else
if( item.type == TicketConf::TicketItem::TypeMultistring )
LogItemMultistring(item);
else
if( item.type == TicketConf::TicketItem::TypeImages )
LogItemImages(item);
else
if( item.type == TicketConf::TicketItem::TypeFiles )
LogItemFiles(item);
else
log << log1 << "TicketParser: unknown item type" << logend;
}
@@ -293,7 +409,7 @@ int TicketParser::Parse(const wchar_t * str, TicketConf & conf)
if( error != WINIX_TICKET_ERR_OK )
{
log << log1 << "TicketParser: some errors occured during parsing the config (clearing the table)";
log << log1 << "TicketParser: some errors occured during parsing the config (clearing the table)" << logend;
conf.Clear();
}