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

# ListSubordinates.cpp

Пример использования классов Context, NDSObject, NDSObjects, Exception. Данный пример демонстрирует простейшую программу, которая выводит на консоль список подчиненных объектов указанного контейнера в NDS.

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

    using BGDNet::Context;
    using BGDNet::NDSObject;
    using BGDNet::NDSObjects;
    using BGDNet::Exception;

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

      try
      {
        Context ctx;
        NDSObject cont(ctx, argv[1]);
        NDSObjects sub;
        cont.getSubordinates(&sub);
        printf("Subordinates of %s:\n", cont.dn().ptr());
        if (!cont.isContainer())
        {
          printf("  %s (%s) is not a container!\n",
            cont.dn().ptr(), cont.baseClass().ptr());
        }
        else
        {
          for (int i = 0; i < sub.size(); ++i)
            printf("  %s (%s)\n", sub[i]->rdn().ptr(), sub[i]->baseClass().ptr());
        }
      }
      catch (const Exception& e)
      {
        printf("ERROR: %s\n", e.what());
      }
      puts("----------");

      return 0;
    }