当前位置: 首页>>代码示例>>C++>>正文


C++ WStatus::IncrementFileChangedFlag方法代码示例

本文整理汇总了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);
}
开发者ID:TRI0N,项目名称:wwiv,代码行数:8,代码来源:message_file.cpp

示例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);
}
开发者ID:TRI0N,项目名称:wwiv,代码行数:10,代码来源:smallrecord.cpp

示例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);
}
开发者ID:TRI0N,项目名称:wwiv,代码行数:16,代码来源:smallrecord.cpp

示例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);
  }
}
开发者ID:Early-Career-Academy-Tempe-AZ,项目名称:wwiv,代码行数:92,代码来源:batch.cpp

示例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);
        }
      }
    }
  }
}
开发者ID:TRI0N,项目名称:wwiv,代码行数:101,代码来源:normupld.cpp

示例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
}
开发者ID:TRI0N,项目名称:wwiv,代码行数:101,代码来源:trytoul.cpp

示例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));
//.........这里部分代码省略.........
开发者ID:TRI0N,项目名称:wwiv,代码行数:101,代码来源:lilo.cpp

示例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);
  }
}
开发者ID:bhaggerty,项目名称:wwiv,代码行数:94,代码来源:batch.cpp


注:本文中的WStatus::IncrementFileChangedFlag方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。