本文整理汇总了C#中RubezhAPI.GK.GKDevice.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# GKDevice.Clone方法的具体用法?C# GKDevice.Clone怎么用?C# GKDevice.Clone使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类RubezhAPI.GK.GKDevice
的用法示例。
在下文中一共展示了GKDevice.Clone方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReadConfiguration
override public bool ReadConfiguration(GKDevice mirrorDevice, Guid clientUID)
{
MirrorDevice = (GKDevice)mirrorDevice.Clone();
MirrorDevice.Children = new List<GKDevice>();
var progressCallback = GKProcessorManager.StartProgress("Чтение конфигурации " + mirrorDevice.PresentationName, "Проверка связи", 2, true, GKProgressClientType.Administrator);
var result = DeviceBytesHelper.Ping(mirrorDevice);
if (result.HasError)
{
Error = "Устройство " + mirrorDevice.PresentationName + " недоступно";
return false;
}
DeviceConfiguration = new GKDeviceConfiguration { RootDevice = MirrorDevice };
GKProcessorManager.DoProgress("Перевод ПМФ в технологический режим", progressCallback);
if (!DeviceBytesHelper.GoToTechnologicalRegime(mirrorDevice, progressCallback, clientUID))
{
Error = "Не удалось перевести " + mirrorDevice.PresentationName + " в технологический режим";
GKProcessorManager.StopProgress(progressCallback);
return false;
}
ReadConfiguration(mirrorDevice);
GKProcessorManager.DoProgress("Перевод ПМФ в рабочий режим", progressCallback);
if (!DeviceBytesHelper.GoToWorkingRegime(mirrorDevice, progressCallback, clientUID))
{
Error = "Не удалось перевести " + mirrorDevice.PresentationName + " в рабочий режим в заданное время";
}
GKProcessorManager.StopProgress(progressCallback);
return Error == null;
}
示例2: ReadConfiguration
override public bool ReadConfiguration(GKDevice kauDevice, Guid clientUID)
{
KauDevice = (GKDevice)kauDevice.Clone();
KauDevice.Children = new List<GKDevice>();
descriptorAddresses = new List<int>();
for (int i = 0; i < 8; i++)
{
var shleif = new GKDevice();
shleif.Driver = GKManager.Drivers.FirstOrDefault(x => x.DriverType == GKDriverType.RSR2_KAU_Shleif);
shleif.DriverUID = shleif.Driver.UID;
shleif.IntAddress = (byte)(i + 1);
KauDevice.Children.Add(shleif);
}
DeviceConfiguration = new GKDeviceConfiguration { RootDevice = KauDevice };
var progressCallback = GKProcessorManager.StartProgress("Чтение конфигурации " + kauDevice.PresentationName, "", descriptorAddresses.Count + 2, true, GKProgressClientType.Administrator, clientUID);
GKProcessorManager.DoProgress("Перевод КАУ в технологический режим", progressCallback);
if (!DeviceBytesHelper.GoToTechnologicalRegime(kauDevice, progressCallback, clientUID))
{ Error = "Не удалось перевести КАУ в технологический режим"; return false; }
GKProcessorManager.DoProgress("Получение дескрипторов устройств", progressCallback);
if (GetDescriptorAddresses(kauDevice))
{
progressCallback.StepCount = descriptorAddresses.Count + 1;
for (int i = 1; i < descriptorAddresses.Count; i++)
{
if (progressCallback.IsCanceled)
{
Error = "Операция отменена";
break;
}
GKProcessorManager.DoProgress("Чтение базы данных объектов. " + i + " из " + descriptorAddresses.Count, progressCallback);
if (!GetDescriptorInfo(kauDevice, descriptorAddresses[i]))
break;
}
}
GKProcessorManager.DoProgress("Перевод КАУ в рабочий режим", progressCallback);
DeviceBytesHelper.GoToWorkingRegime(kauDevice, progressCallback, clientUID);
GKProcessorManager.StopProgress(progressCallback);
return String.IsNullOrEmpty(Error);
}