private static void testGetTable(ISuperLoggingConnection conn) { conn.enable(); ISuperLogEntryList list = conn.getAllEntries(); SuperLogTableColumnSet colSet = new SuperLogTableColumnSet(); colSet[SuperLogTableColumn.LOGIN_DN] = true; colSet[SuperLogTableColumn.OPERATION] = true; colSet[SuperLogTableColumn.STRING] = true; colSet[SuperLogTableColumn.ERROR_CODE] = true; colSet[SuperLogTableColumn.AVG_TIME] = true; ISuperLogTable table = conn.aggregate(list, colSet); foreach (ISuperLogTableRow r in table) { Console.WriteLine(r.ToString()); } return; }
private IntPtr convertColumnSetToIntPtr(SuperLogTableColumnSet colSet) { VMDIR_SUPERLOG_TABLE_COLUMN_SET colSetStruct = colSet.ToStruct(); IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(VMDIR_SUPERLOG_TABLE_COLUMN_SET))); Marshal.StructureToPtr(colSetStruct, ptr, false); return ptr; }
public ISuperLogTable aggregate(ISuperLogEntryList entries, SuperLogTableColumnSet colSet) { IntPtr table = IntPtr.Zero; uint error = SuperLoggingClientLibrary.VmDirSuperLogGetTable( ((SuperLogEntryList)entries).getIntPtr(), convertColumnSetToIntPtr(colSet), out table ); validate("aggregate", error); return new SuperLogTable(table); }