internal virtual void CallItemsRequest(PushServerProxy.PushServerProxyInfo pushInfo, string[] winCodes, VirtualTableManager table, BatchMonitor batch)
{
Hashtable parameters = new Hashtable();
parameters["LS_session"] = pushInfo.sessionId;
parameters["LS_op"] = "add";
parameters["LS_mode"] = table.Mode;
parameters["LS_schema"] = table.Schema;
if (table.DataAdapter != null)
{
parameters["LS_data_adapter"] = table.DataAdapter;
}
for (int i = 0; i < table.NumItems; i++)
{
parameters["LS_window" + (i + 1)] = winCodes[i];
parameters["LS_id" + (i + 1)] = table.GetItemName(i);
if (table.Selector != null)
{
parameters["LS_selector" + (i + 1)] = table.Selector;
}
if (table.Snapshot)
{
if (table.DistinctSnapshotLength != -1)
{
parameters["LS_Snapshot" + (i + 1)] = table.DistinctSnapshotLength.ToString();
}
else
{
parameters["LS_Snapshot" + (i + 1)] = "true";
}
}
if (table.Unfiltered)
{
parameters["LS_requested_max_frequency" + (i + 1)] = "unfiltered";
}
else if (!(table.MaxFrequency == -1.0))
{
parameters["LS_requested_max_frequency" + (i + 1)] = table.MaxFrequency.ToString();
}
if (table.MaxBufferSize != -1)
{
parameters["LS_requested_buffer_size" + (i + 1)] = table.MaxBufferSize.ToString();
}
}
this.DoControlRequest(pushInfo, parameters, batch);
}