public void SerializeConfiguration() { var info = new BridgeInfo(); var version = new BridgeSpecVersion(); var device = new BridgeDevice(); var icon1 = new BridgeIcon(); var icon2 = new BridgeIcon(); icon1.Depth = 23; icon1.Height = 64; icon1.Width = 32; icon1.Url = "urlicon1"; icon1.MimeType = "mimetype1"; icon2.Depth = 10; icon2.Height = 99; icon2.Width = 44; icon2.Url = "urlicon2"; icon2.MimeType = "mimetype2"; version.Major = 7; version.Minor = 1; device.DeviceType = "someType"; device.FriendlyName = "someFriendlyName"; device.IconList = new List <BridgeIcon>(); device.IconList.Add(icon1); device.IconList.Add(icon2); device.Manufacturer = "someManufacturer"; device.ManufacturerUrl = "someManufacturerUrl"; device.ModelDescription = "someModelDescription"; device.ModelName = "someModelName"; device.ModelNumber = "someModelNunber"; device.ModelUrl = "someModelUrl"; device.PresentationUrl = "somePresentationUrl"; device.SerialNumber = "someSerialNumber"; device.UniqueDeviceNumber = "someUniqueDeviceNumber"; info.Device = device; info.SpecVersion = version; info.UrlBase = "someUrlBase"; var serializer = new DataContractSerializer(typeof(BridgeInfo)); var stream = new MemoryStream(); serializer.WriteObject(stream, info); stream.Flush(); var xmlString = Encoding.UTF8.GetString(stream.ToArray()); Assert.IsTrue(stream.Length > 0); }
private static unsafe Device CreateDevice(BridgeDevice bridgeDevice) { return(new Device { // NB: The Ansi string marshaling variant is needed here to match the iOS character size. // Despite the name, Unicode <i>is</i> supported and properly marshals from the bridge. uid = Marshal.PtrToStringAnsi((IntPtr)bridgeDevice.uid) ?? string.Empty, name = Marshal.PtrToStringAnsi((IntPtr)bridgeDevice.name) ?? string.Empty, firmwareVersion = Marshal.PtrToStringAnsi((IntPtr)bridgeDevice.firmwareVersion) ?? string.Empty, rssi = bridgeDevice.rssi, availableSensors = bridgeDevice.availableSensors, availableGestures = bridgeDevice.availableGestures, productId = (ProductId)bridgeDevice.productId, variantId = (byte)bridgeDevice.variantId, transmissionPeriod = bridgeDevice.transmissionPeriod, maximumPayloadPerTransmissionPeriod = bridgeDevice.maximumPayloadPerTransmission, maximumActiveSensors = bridgeDevice.maximumActiveSensors }); }
/// <summary> /// Method to determine if device is a bridge meter. Used to determine whether or not to /// instantiate this class. /// </summary> /// <param name="PSEM">Protocol obj used to identify the meter</param> ///<param name="securityError">An indication of whether a security error occurred while /// verifying a bridge meter.</param> /// <returns>Whether or not device is a bridge meter.</returns> // Revision History // MM/DD/YY who Version Issue# Description // -------- --- ------- ------ --------------------------------------- // 12/04/13 jrf 3.50.10 Created // 10/31/14 jrf 4.00.82 WR542694 Handling new method signature for IsBridgeMeter. public static bool IsBridgeMeter(CPSEM PSEM, out bool securityError) { return(BridgeDevice.IsBridgeMeter(PSEM, out securityError)); }
/// <summary> /// Constructor /// </summary> /// <param name="PSEM">Protocol obj used to identify the meter</param> // Revision History // MM/DD/YY who Version Issue# Description // -------- --- ------- ------ --------------------------------------- // 11/27/13 jrf 3.50.10 Created // public COpenWayAdvPolyITRFBridge(CPSEM PSEM) : base(PSEM) { m_BridgeDevice = BridgeDevice.CreateBridgeDevice(m_PSEM, this); }
/// <summary> /// Constructor /// </summary> /// <param name="ceComm"></param> // Revision History // MM/DD/YY Who Version Issue# Description // -------- --- ------- ------ ------------------------------------------- // 11/27/13 jrf 3.50.10 Created // public COpenWayAdvPolyITRFBridge(Itron.Metering.Communications.ICommunications ceComm) : base(ceComm) { m_BridgeDevice = BridgeDevice.CreateBridgeDevice(m_PSEM, this); }