本文整理汇总了C++中WStatus::IncrementFileChangedFlag方法的典型用法代码示例。如果您正苦于以下问题:C++ WStatus::IncrementFileChangedFlag方法的具体用法?C++ WStatus::IncrementFileChangedFlag怎么用?C++ WStatus::IncrementFileChangedFlag使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WStatus
的用法示例。
在下文中一共展示了WStatus::IncrementFileChangedFlag方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: save_gat
static void save_gat(File *pMessageFile) {
long lSectionPos = static_cast<long>(gat_section) * GATSECLEN;
pMessageFile->Seek(lSectionPos, File::seekBegin);
pMessageFile->Write(gat, GAT_SECTION_SIZE);
WStatus *pStatus = session()->status_manager()->BeginTransaction();
pStatus->IncrementFileChangedFlag(WStatus::fileChangePosts);
session()->status_manager()->CommitTransaction(pStatus);
}
示例2: InsertSmallRecord
// Inserts a record into NAMES.LST
void InsertSmallRecord(int user_number, const char *name) {
WStatus *pStatus = session()->status_manager()->BeginTransaction();
session()->names()->Add(name, user_number);
session()->names()->Save();
pStatus->IncrementNumUsers();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeNames);
session()->status_manager()->CommitTransaction(pStatus);
}
示例3: DeleteSmallRecord
// Deletes a record from NAMES.LST (DeleteSmallRec)
void DeleteSmallRecord(const char *name) {
WStatus *pStatus = session()->status_manager()->BeginTransaction();
int found_user = session()->names()->FindUser(name);
if (found_user < 1) {
session()->status_manager()->AbortTransaction(pStatus);
sysoplog(false) << "#*#*#*#*#*#*#*# '" << name << "' NOT ABLE TO BE DELETED";
sysoplog(false) << "#*#*#*#*#*#*#*# Run //RESETF to fix it.";
return;
}
session()->names()->Remove(found_user);
pStatus->DecrementNumUsers();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeNames);
session()->names()->Save();
session()->status_manager()->CommitTransaction(pStatus);
}
示例4: uploaded
void uploaded(char *file_name, long lCharsPerSecond) {
uploadsrec u;
for (auto it = begin(session()->batch); it != end(session()->batch); it++) {
const auto& b = *it;
if (IsEquals(file_name, b.filename) && !b.sending) {
dliscan1(b.dir);
int nRecNum = recno(b.filename);
if (nRecNum > 0) {
File downFile(g_szDownloadFileName);
downFile.Open(File::modeBinary | File::modeCreateFile | File::modeReadWrite);
do {
FileAreaSetRecord(downFile, nRecNum);
downFile.Read(&u, sizeof(uploadsrec));
if (u.numbytes != 0) {
nRecNum = nrecno(b.filename, nRecNum);
}
} while (nRecNum != -1 && u.numbytes != 0);
downFile.Close();
if (nRecNum != -1 && u.numbytes == 0) {
char szSourceFileName[MAX_PATH], szDestFileName[MAX_PATH];
sprintf(szSourceFileName, "%s%s", syscfgovr.batchdir, file_name);
sprintf(szDestFileName, "%s%s", session()->directories[b.dir].path, file_name);
if (!IsEquals(szSourceFileName, szDestFileName) &&
File::Exists(szSourceFileName)) {
bool found = false;
if (szSourceFileName[1] != ':' && szDestFileName[1] != ':') {
found = true;
}
if (szSourceFileName[1] == ':' && szDestFileName[1] == ':' && szSourceFileName[0] == szDestFileName[0]) {
found = true;
}
if (found) {
File::Rename(szSourceFileName, szDestFileName);
File::Remove(szSourceFileName);
} else {
copyfile(szSourceFileName, szDestFileName, false);
File::Remove(szSourceFileName);
}
}
File file(szDestFileName);
if (file.Open(File::modeBinary | File::modeReadOnly)) {
if (!syscfg.upload_cmd.empty()) {
file.Close();
if (!check_ul_event(b.dir, &u)) {
didnt_upload(b);
} else {
file.Open(File::modeBinary | File::modeReadOnly);
}
}
if (file.IsOpen()) {
u.numbytes = file.GetLength();
file.Close();
get_file_idz(&u, b.dir);
session()->user()->SetFilesUploaded(session()->user()->GetFilesUploaded() + 1);
modify_database(u.filename, true);
session()->user()->SetUploadK(session()->user()->GetUploadK() +
static_cast<int>(bytes_to_k(u.numbytes)));
WStatus *pStatus = session()->status_manager()->BeginTransaction();
pStatus->IncrementNumUploadsToday();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeUpload);
session()->status_manager()->CommitTransaction(pStatus);
File fileDn(g_szDownloadFileName);
fileDn.Open(File::modeBinary | File::modeCreateFile | File::modeReadWrite);
FileAreaSetRecord(fileDn, nRecNum);
fileDn.Write(&u, sizeof(uploadsrec));
fileDn.Close();
sysoplogf("+ \"%s\" uploaded on %s (%ld cps)", u.filename, session()->directories[b.dir].name, lCharsPerSecond);
bout << "Uploaded '" << u.filename <<
"' to " << session()->directories[b.dir].name << " (" <<
lCharsPerSecond << " cps)" << wwiv::endl;
}
}
it = delbatch(it);
return;
}
}
it = delbatch(it);
if (try_to_ul(file_name)) {
sysoplogf("!!! Couldn't find file \"%s\" in directory.", file_name);
bout << "Deleting - couldn't find data for file " << file_name << wwiv::endl;
}
return;
}
}
if (try_to_ul(file_name)) {
sysoplogf("!!! Couldn't find \"%s\" in UL batch queue.", file_name);
bout << "Deleting - don't know what to do with file " << file_name << wwiv::endl;
File::Remove(syscfgovr.batchdir, file_name);
}
}
示例5: normalupload
//.........这里部分代码省略.........
inputl(u.description, 58);
bout.nl();
string ext_desc;
modify_extended_description(&ext_desc, session()->directories[dn].name);
if (!ext_desc.empty()) {
add_extended_description(u.filename, ext_desc);
u.mask |= mask_extended;
}
bout.nl();
if (xfer) {
write_inst(INST_LOC_UPLOAD, session()->current_user_dir().subnum, INST_FLAGS_ONLINE);
auto ti = timer();
receive_file(szReceiveFileName, &ok, u.filename, dn);
ti = timer() - ti;
if (ti < 0) {
ti += SECONDS_PER_DAY;
}
session()->user()->SetExtraTime(session()->user()->GetExtraTime() + static_cast<float>(ti));
}
if (ok) {
File file(szReceiveFileName);
if (ok == 1) {
if (!file.Open(File::modeBinary | File::modeReadOnly)) {
ok = 0;
bout.nl(2);
bout << "OS error - File not found.\r\n\n";
if (u.mask & mask_extended) {
delete_extended_description(u.filename);
}
}
if (ok && !syscfg.upload_cmd.empty()) {
file.Close();
bout << "Please wait...\r\n";
if (!check_ul_event(dn, &u)) {
if (u.mask & mask_extended) {
delete_extended_description(u.filename);
}
ok = 0;
} else {
file.Open(File::modeBinary | File::modeReadOnly);
}
}
}
if (ok) {
if (ok == 1) {
u.numbytes = file.GetLength();
file.Close();
session()->user()->SetFilesUploaded(session()->user()->GetFilesUploaded() + 1);
modify_database(u.filename, true);
session()->user()->SetUploadK(session()->user()->GetUploadK() + bytes_to_k(u.numbytes));
get_file_idz(&u, dn);
} else {
u.numbytes = 0;
}
time_t lCurrentTime;
time(&lCurrentTime);
u.daten = static_cast<uint32_t>(lCurrentTime);
File fileDownload(session()->download_filename_);
fileDownload.Open(File::modeBinary | File::modeCreateFile | File::modeReadWrite);
for (int j = session()->numf; j >= 1; j--) {
FileAreaSetRecord(fileDownload, j);
fileDownload.Read(&u1, sizeof(uploadsrec));
FileAreaSetRecord(fileDownload, j + 1);
fileDownload.Write(&u1, sizeof(uploadsrec));
}
FileAreaSetRecord(fileDownload, 1);
fileDownload.Write(&u, sizeof(uploadsrec));
++session()->numf;
FileAreaSetRecord(fileDownload, 0);
fileDownload.Read(&u1, sizeof(uploadsrec));
u1.numbytes = session()->numf;
u1.daten = static_cast<uint32_t>(lCurrentTime);
FileAreaSetRecord(fileDownload, 0);
fileDownload.Write(&u1, sizeof(uploadsrec));
fileDownload.Close();
if (ok == 1) {
WStatus *pStatus = session()->status_manager()->BeginTransaction();
pStatus->IncrementNumUploadsToday();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeUpload);
session()->status_manager()->CommitTransaction(pStatus);
sysoplog() << StringPrintf("+ \"%s\" uploaded on %s", u.filename, session()->directories[dn].name);
bout.nl(2);
bout.bprintf("File uploaded.\r\n\nYour ratio is now: %-6.3f\r\n", ratio());
bout.nl(2);
if (session()->IsUserOnline()) {
session()->UpdateTopScreen();
}
}
}
} else {
bout.nl(2);
bout << "File transmission aborted.\r\n\n";
if (u.mask & mask_extended) {
delete_extended_description(u.filename);
}
}
}
}
}
示例6: try_to_ul_wh
//.........这里部分代码省略.........
bout << "|#5Modify extended description? ";
if (yesno()) {
bout.nl();
if (!ss.empty()) {
bout << "|#5Delete it? ";
if (yesno()) {
delete_extended_description(u.filename);
u.mask &= ~mask_extended;
} else {
u.mask |= mask_extended;
modify_extended_description(&ss, session()->directories[session()->current_user_dir().subnum].name);
if (!ss.empty()) {
delete_extended_description(u.filename);
add_extended_description(u.filename, ss);
}
}
} else {
modify_extended_description(&ss, session()->directories[session()->current_user_dir().subnum].name);
if (!ss.empty()) {
add_extended_description(u.filename, ss);
u.mask |= mask_extended;
} else {
u.mask &= ~mask_extended;
}
}
} else if (!ss.empty()) {
u.mask |= mask_extended;
} else {
u.mask &= ~mask_extended;
}
} break;
case '\r':
bout.nl();
done = true;
}
}
bout.nl(3);
File file(d.path, s);
if (!file.Open(File::modeBinary | File::modeReadOnly)) {
// dos error, file not found
if (u.mask & mask_extended) {
delete_extended_description(u.filename);
}
t2u_error(file_name, "DOS error - File not found.");
return 1;
}
if (!syscfg.upload_cmd.empty()) {
file.Close();
bout << "Please wait...\r\n";
if (!check_ul_event(dn, &u)) {
if (u.mask & mask_extended) {
delete_extended_description(u.filename);
}
t2u_error(file_name, "Failed upload event");
return 1;
} else {
file.Open(File::modeBinary | File::modeReadOnly);
}
}
long lFileLength = file.GetLength();
u.numbytes = lFileLength;
file.Close();
session()->user()->SetFilesUploaded(session()->user()->GetFilesUploaded() + 1);
time_t tCurrentDate = time(nullptr);
u.daten = static_cast<uint32_t>(tCurrentDate);
File fileDownload(session()->download_filename_);
fileDownload.Open(File::modeBinary | File::modeCreateFile | File::modeReadWrite);
for (int i = session()->numf; i >= 1; i--) {
FileAreaSetRecord(fileDownload, i);
fileDownload.Read(&u1, sizeof(uploadsrec));
FileAreaSetRecord(fileDownload, i + 1);
fileDownload.Write(&u1, sizeof(uploadsrec));
}
FileAreaSetRecord(fileDownload, 1);
fileDownload.Write(&u, sizeof(uploadsrec));
++session()->numf;
FileAreaSetRecord(fileDownload, 0);
fileDownload.Read(&u1, sizeof(uploadsrec));
u1.numbytes = session()->numf;
u1.daten = static_cast<uint32_t>(tCurrentDate);
FileAreaSetRecord(fileDownload, 0);
fileDownload.Write(&u1, sizeof(uploadsrec));
fileDownload.Close();
modify_database(u.filename, true);
session()->user()->SetUploadK(session()->user()->GetUploadK() + bytes_to_k(u.numbytes));
WStatus *pStatus = session()->status_manager()->BeginTransaction();
pStatus->IncrementNumUploadsToday();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeUpload);
session()->status_manager()->CommitTransaction(pStatus);
sysoplog() << StringPrintf("+ \"%s\" uploaded on %s", u.filename, session()->directories[dn].name);
return 0; // This means success
}
示例7: logoff
void logoff() {
mailrec m;
if (incom) {
play_sdf(LOGOFF_NOEXT, false);
}
if (session()->usernum > 0) {
if ((incom || sysop1()) && session()->user()->GetSl() < 255) {
broadcast(StringPrintf("%s Just logged off!", session()->user()->GetName()));
}
}
setiia(90);
session()->remoteIO()->disconnect();
hangup = true;
if (session()->usernum < 1) {
return;
}
string text = " Logged Off At ";
text += times();
if (session()->GetEffectiveSl() != 255 || incom) {
sysoplog(false) << "";
sysoplog(false) << stripcolors(text);
}
session()->user()->SetLastBaudRate(modem_speed);
// put this back here where it belongs... (not sure why it te
session()->user()->SetLastOn(g_szLastLoginDate);
session()->user()->SetNumIllegalLogons(0);
if ((timer() - timeon) < -30) {
timeon -= SECONDS_PER_DAY;
}
auto dTimeOnNow = timer() - timeon;
session()->user()->SetTimeOn(session()->user()->GetTimeOn() + static_cast<float>(dTimeOnNow));
session()->user()->SetTimeOnToday(session()->user()->GetTimeOnToday() +
static_cast<float>(dTimeOnNow - extratimecall));
{
WStatus* pStatus = session()->status_manager()->BeginTransaction();
int nActiveToday = pStatus->GetMinutesActiveToday();
pStatus->SetMinutesActiveToday(nActiveToday + static_cast<uint16_t>(dTimeOnNow / MINUTES_PER_HOUR));
session()->status_manager()->CommitTransaction(pStatus);
}
if (g_flags & g_flag_scanned_files) {
session()->user()->SetNewScanDateNumber(session()->user()->GetLastOnDateNumber());
}
time_t lTime = time(nullptr);
session()->user()->SetLastOnDateNumber(lTime);
sysoplog(false) << "Read: " << session()->GetNumMessagesReadThisLogon()
<< " Time on: " << (timer() - timeon) / MINUTES_PER_HOUR;
{
unique_ptr<File> pFileEmail(OpenEmailFile(true));
if (pFileEmail->IsOpen()) {
session()->user()->SetNumMailWaiting(0);
int t = static_cast<int>(pFileEmail->GetLength() / sizeof(mailrec));
int r = 0;
int w = 0;
while (r < t) {
pFileEmail->Seek(static_cast<long>(sizeof(mailrec)) * static_cast<long>(r), File::seekBegin);
pFileEmail->Read(&m, sizeof(mailrec));
if (m.tosys != 0 || m.touser != 0) {
if (m.tosys == 0 && m.touser == session()->usernum) {
if (session()->user()->GetNumMailWaiting() != 255) {
session()->user()->SetNumMailWaiting(session()->user()->GetNumMailWaiting() + 1);
}
}
if (r != w) {
pFileEmail->Seek(static_cast<long>(sizeof(mailrec)) * static_cast<long>(w), File::seekBegin);
pFileEmail->Write(&m, sizeof(mailrec));
}
++w;
}
++r;
}
if (r != w) {
m.tosys = 0;
m.touser = 0;
for (int w1 = w; w1 < r; w1++) {
pFileEmail->Seek(static_cast<long>(sizeof(mailrec)) * static_cast<long>(w1), File::seekBegin);
pFileEmail->Write(&m, sizeof(mailrec));
}
}
pFileEmail->SetLength(static_cast<long>(sizeof(mailrec)) * static_cast<long>(w));
WStatus *pStatus = session()->status_manager()->BeginTransaction();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeEmail);
session()->status_manager()->CommitTransaction(pStatus);
pFileEmail->Close();
}
}
if (smwcheck) {
File smwFile(session()->config()->datadir(), SMW_DAT);
if (smwFile.Open(File::modeReadWrite | File::modeBinary | File::modeCreateFile)) {
int t = static_cast<int>(smwFile.GetLength() / sizeof(shortmsgrec));
int r = 0;
int w = 0;
while (r < t) {
shortmsgrec sm;
smwFile.Seek(r * sizeof(shortmsgrec), File::seekBegin);
smwFile.Read(&sm, sizeof(shortmsgrec));
//.........这里部分代码省略.........
示例8: uploaded
void uploaded(char *pszFileName, long lCharsPerSecond) {
uploadsrec u;
for (int i1 = 0; i1 < GetSession()->numbatch; i1++) {
if (wwiv::strings::IsEquals(pszFileName, batch[i1].filename) &&
!batch[i1].sending) {
dliscan1(batch[i1].dir);
int nRecNum = recno(batch[i1].filename);
if (nRecNum > 0) {
WFile downFile(g_szDownloadFileName);
downFile.Open(WFile::modeBinary | WFile::modeCreateFile | WFile::modeReadWrite, WFile::shareUnknown,
WFile::permReadWrite);
do {
FileAreaSetRecord(downFile, nRecNum);
downFile.Read(&u, sizeof(uploadsrec));
if (u.numbytes != 0) {
nRecNum = nrecno(batch[i1].filename, nRecNum);
}
} while (nRecNum != -1 && u.numbytes != 0);
downFile.Close();
if (nRecNum != -1 && u.numbytes == 0) {
char szSourceFileName[MAX_PATH], szDestFileName[MAX_PATH];
sprintf(szSourceFileName, "%s%s", syscfgovr.batchdir, pszFileName);
sprintf(szDestFileName, "%s%s", directories[batch[i1].dir].path, pszFileName);
if (!wwiv::strings::IsEquals(szSourceFileName, szDestFileName) &&
WFile::Exists(szSourceFileName)) {
bool found = false;
if (szSourceFileName[1] != ':' && szDestFileName[1] != ':') {
found = true;
}
if (szSourceFileName[1] == ':' && szDestFileName[1] == ':' && szSourceFileName[0] == szDestFileName[0]) {
found = true;
}
if (found) {
WFile::Rename(szSourceFileName, szDestFileName);
WFile::Remove(szSourceFileName);
} else {
copyfile(szSourceFileName, szDestFileName, false);
WFile::Remove(szSourceFileName);
}
}
WFile file(szDestFileName);
if (file.Open(WFile::modeBinary | WFile::modeReadOnly)) {
if (syscfg.upload_c[0]) {
file.Close();
if (!check_ul_event(batch[i1].dir, &u)) {
didnt_upload(i1);
} else {
file.Open(WFile::modeBinary | WFile::modeReadOnly);
}
}
if (file.IsOpen()) {
u.numbytes = file.GetLength();
file.Close();
get_file_idz(&u, batch[i1].dir);
GetSession()->GetCurrentUser()->SetFilesUploaded(GetSession()->GetCurrentUser()->GetFilesUploaded() + 1);
modify_database(u.filename, true);
GetSession()->GetCurrentUser()->SetUploadK(GetSession()->GetCurrentUser()->GetUploadK() +
static_cast<int>(bytes_to_k(u.numbytes)));
WStatus *pStatus = GetApplication()->GetStatusManager()->BeginTransaction();
pStatus->IncrementNumUploadsToday();
pStatus->IncrementFileChangedFlag(WStatus::fileChangeUpload);
GetApplication()->GetStatusManager()->CommitTransaction(pStatus);
WFile fileDn(g_szDownloadFileName);
fileDn.Open(WFile::modeBinary | WFile::modeCreateFile | WFile::modeReadWrite, WFile::shareUnknown,
WFile::permReadWrite);
FileAreaSetRecord(fileDn, nRecNum);
fileDn.Write(&u, sizeof(uploadsrec));
fileDn.Close();
sysoplogf("+ \"%s\" uploaded on %s (%ld cps)", u.filename, directories[batch[i1].dir].name, lCharsPerSecond);
GetSession()->bout << "Uploaded '" << u.filename <<
"' to " << directories[batch[i1].dir].name << " (" <<
lCharsPerSecond << " cps)" << wwiv::endl;
}
}
delbatch(i1);
return;
}
}
delbatch(i1);
if (try_to_ul(pszFileName)) {
sysoplogf("!!! Couldn't find file \"%s\" in directory.", pszFileName);
GetSession()->bout << "Deleting - couldn't find data for file " << pszFileName << wwiv::endl;
}
return;
}
}
if (try_to_ul(pszFileName)) {
sysoplogf("!!! Couldn't find \"%s\" in UL batch queue.", pszFileName);
GetSession()->bout << "Deleting - don't know what to do with file " << pszFileName << wwiv::endl;
WFile::Remove(syscfgovr.batchdir, pszFileName);
}
}