Титульная страница Иерархия классов Алфавитный указатель Классы Файлы Члены классов Члены файла Примеры

# ListFiles.cpp

Пример использования классов Context, Server, Volume, Path, Directory, Files, Exception. Данный пример демонстрирует простейшую программу, которая выводит на консоль список файлов в каталоге с их владельцами.

    #include <stdio.h>
    #include "BGDNet.h"

    using BGDNet::Context;
    using BGDNet::Server;
    using BGDNet::Volume;
    using BGDNet::Path;
    using BGDNet::Directory;
    using BGDNet::Files;
    using BGDNet::Exception;

    int main( int argc, char* argv[] )
    {
      if (4 != argc)
      {
        puts("Usage: ListFiles.exe <server_name> <volume_name> <dir_name>");
        return -1;
      }

      try
      {
        Context ctx;
        Server srv(argv[1]);
        Volume vol(&srv, argv[2]);
        Directory dir(&vol, Path(argv[3], NW_NS_LONG));
        printf("Files in %s\\%s:%s\n",
          (const char*)srv.name(),
          (const char*)vol.name(),
          (const char*)dir.name());
        Files fls;
        dir.getFiles(&fls);
        for (int i = 0; i < fls.size(); ++i)
        {
          nuint32 owner = fls[i]->ownerId();
          printf("%s (%s)\n",
            (const char*)fls[i]->name(),
            (const char*)srv.objNameById(owner, ctx));
        }
      }
      catch (const Exception& e)
      {
        printf("ERROR: %s\n", e.what());
      }
      puts("----------");

      return 0;
    }