Работа с папками репозитория

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

В данном примере описывается работа с папками репозитория. После запуска примера в консоли среды разработки выводятся наименования локальных и незагруженных папок репозитория, либо выводится сообщение об их отсутствии.

Исходный код

Для выполнения примера необходимо разместить в теле метода executeExample класса ViewController (см. раздел «Отображение экспресс-отчёта») следующий код:

// Получаем объект репозитория
SPPLMetabase metabase = PPLMetabase::sharedMetabase(m_olapReportDescriptor->repositoryDescriptor());
NSMutableString *localFoldersName = [[NSMutableString string] mutableCopy];
// Получаем массив описаний загруженных папок
SNArray localFolderDescriptors = metabase->localFolderDescriptors();
for (int i = 0; i < localFolderDescriptors->count(); i++) {
    SPPLMetabaseRepositoryObjectDescriptor descriptor =
    localFolderDescriptors->objectAtIndex<PPLMetabaseRepositoryObjectDescriptor>(i);
    [localFoldersName appendString: descriptor->name()->nsString()];
    [localFoldersName appendString: @"\n"];
}
if (localFolderDescriptors->count() > 0) {
    NSLog(@"Локальные папки: \n %@", localFoldersName);
    } else {
    NSLog(@"Локальные папки отсутствуют \n");
}
// Получаем массив описаний незагруженных папок
SNArray remoteFolderDescriptors = metabase->remoteFolderDescriptors();
NSMutableString *remoteFoldersName = [[NSMutableString string] mutableCopy];
for (int i = 0; i < remoteFolderDescriptors->count(); i++) {
    SPPLMetabaseRepositoryObjectDescriptor descriptor =
    remoteFolderDescriptors->objectAtIndex<PPLMetabaseRepositoryObjectDescriptor>(i);
    [remoteFoldersName appendString: descriptor->name()->nsString()];
    [localFoldersName appendString: @"\n"];
}
if (remoteFolderDescriptors->count() > 0) {
    NSLog(@"Незагруженные папки: \n %@", localFoldersName);
    } else {
    NSLog(@"Незагруженные папки отсутствуют \n");
}

В результате выполнения примера в консоли среды разработки были выведены наименования локальных и незагруженных папок репозитория, либо было отображено сообщение об их отсутствии:

Локальные папки:

 ExpressReports

Незагруженные папки отсутствуют

См. также:

Примеры использования библиотеки pplib++