IAuditLogArchiveCallback.OnProgress

Синтаксис

OnProgress(Current: Integer; Total: Integer);

OnProgress(System.Int32, System.Int32);

Параметры

Current. Количество обработанных записей;

Total. Общее количество записей, которые будут обработаны.

Описание

Метод OnProgress реализует событие общего статуса архивации протокола доступа. Данный метод должен быть переопределен в пользовательском классе.

Пример

Для выполнения примера требуется наличие файла «AuditLog.pplog».

Добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).

Class MyCallback: Object, IAuditLogArchiveCallback
    
Sub OnProgress(Current: Integer; Total: Integer);
    
Begin
        Debug.WriteLine(
"Упаковано " + Current.ToString + " из " + Total.ToString + " записей");
    
End Sub OnProgress;
End Class MyCallback;

Sub UserProc;
Var
    MB: IMetabase;
    MS: IMetabaseSecurity;
    AL: IAuditLog;
    Callback: MyCallback;
    Lic: Object;
Begin
    MB := MetabaseClass.Active;
    
// Получим лицензию для возможности работы с менеджером безопасности
    Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
    MS := MB.Security;
    
// Откроем протокол доступа
    Al := MS.OpenAuditLog;
    Callback := 
New MyCallback.Create;
    
// Сохраним протокол доступа в файл
    AL.Archive("C:\AuditLog.pplog", Callback);
    
// Освободим лицензию
    Lic := Null;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;

Public Class MyCallback: Object, IAuditLogArchiveCallback
    
Public Sub OnProgress(Current: Integer; Total: Integer);
    
Begin
        System.Diagnostics.Debug.WriteLine(
"Упаковано " + Current.ToString() + " из " + Total.ToString() + " записей");
    
End Sub OnProgress;
End Class MyCallback;
    
Public Class Program
    [STAThread]
    
Public Shared Sub Main(Params: StartParams);
    
Var
        MB: IMetabase;
        MS: IMetabaseSecurity;
        AL: IAuditLog;
        Callback: MyCallback;
        Lic: Object;
    
Begin
        MB := Params.Metabase;
        
// Получим лицензию для возможности работы с менеджером безопасности
        Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
        MS := MB.Security;
        
// Откроем протокол доступа
        Al := MS.OpenAuditLog();
        Callback := 
New MyCallback.Create();
        
// Сохраним протокол доступа в файл
        AL.Archive("C:\AuditLog.pplog", Callback, AuditLogArchiveFormat.alafBinary, False);
        
// Освободим лицензию
        Lic := Null;
    
End Sub;
End Class;

После выполнения примера записи протокола доступа будут сохранены в файл «AuditLog.pplog». Статус сохранения будет выведен в консоль среды разработки.

См. также:

IAuditLogArchiveCallback