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

ChangeOwner.cpp

Пример использования классов File, Path, Context, NDSObject, String, Exception. Данный пример демонстрирует простейшую программу, которая позволяет получить и изменить владельца файла.

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

using BGDNet::Path;
using BGDNet::Server;
using BGDNet::Volume;
using BGDNet::File;
using BGDNet::Context;
using BGDNet::NDSObject;
using BGDNet::String;
using BGDNet::Exception;

void printOwner( const File& f );

int main( int argc, char* argv[] )
{
  if (2 != argc && 3 != argc)
  {
    puts("Usage: ChangeOwner.exe <file> [<owner>]");
    return -1;
  }

  try
  {
    Path p(argv[1], NW_NS_LONG);
    Server srv(p.srv());
    Volume vol(&srv, p.vol());
    nuint8 ns = vol.supportsLongNames() ? NW_NS_LONG : NW_NS_DOS;
    File f(&vol, Path(p.path(), ns));

    printOwner(f);

    if (3 == argc)
    {
      Context ctx;
      printf("\nChanging owner to: %s\n\n", argv[2]);
      f.ownerName(ctx, argv[2]);
      printOwner(f);
    }
  }
  catch (const Exception& e)
  {
    printf("ERROR: %s\n", e.what());
  }
  puts("----------");

  return 0;
}

void printOwner( const File& f )
{
  Context ctx;
  printf(
    "File: %s\nOwner: %s\n",
    f.fullPath().ptr(),
    f.ownerName(ctx).ptr());
}

РУП БЕЛГИПРОДОР Документация на BGDNet сгенерирована Mon Apr 1 18:36:52 2002, БЕЛГИПРОДОР ©  2001