コード例 #1
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldEqualSimilarUuidObject()
        {
            var uuid = new Uuid(1, 2);
            object other = new Uuid(1, 2);

            Assert.IsTrue(uuid.Equals(other));
        }
コード例 #2
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldNotEqualOtherUuidObject()
        {
            var uuid = new Uuid(1, 2);
            object other = new Uuid(3, 4);

            Assert.IsFalse(uuid.Equals(other));
        }
コード例 #3
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void TestConstructor()
        {
            var uuid = new Uuid(1, 2);

            Assert.AreEqual(1, uuid.MostSignificantBits);
            Assert.AreEqual(2, uuid.LeastSignificantBits);
        }
コード例 #4
0
ファイル: Uuid.cs プロジェクト: pengyancai/cs-util
        public void TestConstruct1()
        {
            var uuid = new Uuid("f81d4fae-7dec-11d0-a765-00a0c91e6bf6");

              Assert.AreEqual(0xf81d4fae, uuid.TimeLow);
              Assert.AreEqual(0x7dec, uuid.TimeMid);
              Assert.AreEqual(0x11d0, uuid.TimeHighAndVersion);
              Assert.AreEqual(0xa7, uuid.ClockSeqHighAndReserved);
              Assert.AreEqual(0x65, uuid.ClockSeqLow);
              Assert.AreEqual(new byte[] {0x00, 0xa0, 0xc9, 0x1e, 0x6b, 0xf6}, uuid.Node);
              Assert.AreEqual(UuidVersion.Version1, uuid.Version);
              Assert.AreEqual(Uuid.Variant.RFC4122, uuid.VariantField);

              Assert.AreEqual((new DateTime(1997, 2, 3, 17, 43, 12, 216, DateTimeKind.Utc)).AddTicks(8750), uuid.Timestamp);
              Assert.AreEqual(10085, uuid.Clock);
              Assert.AreEqual("00:a0:c9:1e:6b:f6", uuid.IEEE802MacAddress);
        }
コード例 #5
0
ファイル: Uuid.cs プロジェクト: pengyancai/cs-util
        public void TestConstruct2()
        {
            var uuid = new Uuid("01c47915-4777-11d8-bc70-0090272ff725");

              Assert.AreEqual(0x01c47915, uuid.TimeLow);
              Assert.AreEqual(0x4777, uuid.TimeMid);
              Assert.AreEqual(0x11d8, uuid.TimeHighAndVersion);
              Assert.AreEqual(0xbc, uuid.ClockSeqHighAndReserved);
              Assert.AreEqual(0x70, uuid.ClockSeqLow);
              Assert.AreEqual(new byte[] {0x00, 0x90, 0x27, 0x2f, 0xf7, 0x25}, uuid.Node);
              Assert.AreEqual(UuidVersion.Version1, uuid.Version);
              Assert.AreEqual(Uuid.Variant.RFC4122, uuid.VariantField);

              Assert.AreEqual((new DateTime(2004, 1, 15, 16, 22, 26, 376, DateTimeKind.Utc)).AddTicks(3221), uuid.Timestamp);
              Assert.AreEqual(15472, uuid.Clock);
              Assert.AreEqual("00:90:27:2f:f7:25", uuid.IEEE802MacAddress);
              Assert.AreEqual(PhysicalAddress.Parse("00-90-27-2F-F7-25"), uuid.PhysicalAddress);
        }
コード例 #6
0
		public Type128BitUUIDs( int type, byte[] data, int pos, int len) {
			this.Type = type;
			int items = len / 16;
			Uuids = new Uuid[items];
			int ptr = pos;
			for( int i = 0 ; i < items ; ++i ) {
				long vl = ((long)data[ptr]) & 0xFF;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 8;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 16;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 24;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 32;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 40;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 48;
				ptr++;
				vl |= (((long)data[ptr]) & 0xFF ) << 56;
				ptr++;
				long vh = ((long)data[ptr]) & 0xFF;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 8;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 16;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 24;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 32;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 40;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 48;
				ptr++;
				vh |= (((long)data[ptr]) & 0xFF ) << 56;
				ptr++;
				Uuids[i] = new Uuid(vh,vl); 
			}
		}
コード例 #7
0
 public single_batch()
 {
     _correlationId = Uuid.NewUuid();
 }
コード例 #8
0
                private void _read()
                {
                    _type   = ((BtrfsStream.Attribute)m_io.ReadU2le());
                    _length = m_io.ReadU2le();
                    switch (Type)
                    {
                    case BtrfsStream.Attribute.Ctransid: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Size: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.CloneUuid: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Uuid(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.FileOffset: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Otime: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Timespec(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.Uid: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Atime: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Timespec(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.Ctime: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Timespec(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.Uuid: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Uuid(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.CloneLen: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.XattrName: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new String(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.CloneCtransid: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Mode: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Mtime: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new Timespec(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.PathLink: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new String(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.Rdev: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.PathTo: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new String(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.Path: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new String(io___raw_value, this, m_root);
                        break;
                    }

                    case BtrfsStream.Attribute.CloneOffset: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.Gid: {
                        _value = m_io.ReadU8le();
                        break;
                    }

                    case BtrfsStream.Attribute.ClonePath: {
                        __raw_value = m_io.ReadBytes(Length);
                        var io___raw_value = new KaitaiStream(__raw_value);
                        _value = new String(io___raw_value, this, m_root);
                        break;
                    }

                    default: {
                        _value = m_io.ReadBytes(Length);
                        break;
                    }
                    }
                }
コード例 #9
0
 protected DomainEvent(string aggregateId, string eventId, string occurredOn)
 {
     AggregateId = aggregateId;
     EventId     = eventId ?? Uuid.Random().Value;
     OccurredOn  = occurredOn ?? Utils.DateToString(DateTime.Now);
 }
コード例 #10
0
        private async Task <AcknowledgeMessageExt> ReconnectInvokeAckAsync(string pageUrl, string swfUrl, string tcUrl)
        {
            InvokeAmf0 invokeAmf0_1 = new InvokeAmf0();
            InvokeAmf0 invokeAmf0_2 = invokeAmf0_1;
            string     methodName   = "connect";

            object[] parameters = new object[4] {
                (object)false, (object)this.ClientId, (object)this._reconnectData, null
            };
            int            index          = 3;
            CommandMessage commandMessage = new CommandMessage();

            commandMessage.Operation = CommandOperation.Login;
            string str1 = "";

            commandMessage.CorrelationId = str1;
            string str2 = Uuid.NewUuid();

            commandMessage.MessageId = str2;
            string str3 = "";

            commandMessage.Destination = str3;
            string reconnectData = this._reconnectData;

            commandMessage.Body    = (object)reconnectData;
            commandMessage.Headers = new AsObject()
            {
                {
                    "DSMessagingVersion",
                    (object)1.0
                },
                {
                    "DSId",
                    (object)"my-rtmps"
                }
            };
            parameters[index] = (object)commandMessage;
            int    num1   = 1;
            int    num2   = 0;
            Method method = new Method(methodName, parameters, num1 != 0, (CallStatus)num2);

            invokeAmf0_2.MethodCall           = method;
            invokeAmf0_1.ConnectionParameters = (object)new AsObject()
            {
                {
                    "pageUrl",
                    (object)pageUrl
                },
                {
                    "objectEncoding",
                    (object)(double)this._objectEncoding
                },
                {
                    "capabilities",
                    (object)239.0
                },
                {
                    "audioCodecs",
                    (object)3575.0
                },
                {
                    "flashVer",
                    (object)"WIN 11,7,700,169"
                },
                {
                    "swfUrl",
                    (object)swfUrl
                },
                {
                    "videoFunction",
                    (object)1.0
                },
                {
                    "fpad",
                    (object)false
                },
                {
                    "videoCodecs",
                    (object)252.0
                },
                {
                    "tcUrl",
                    (object)tcUrl
                },
                {
                    "app",
                    (object)""
                }
            };
            invokeAmf0_1.InvokeId = this.GetNextInvokeId();
            return(await this.QueueCommandAsTask((Command)invokeAmf0_1, 3, 0, false));
        }
コード例 #11
0
 public Uuid uuid_NewMySqlOptimized()
 {
     return(Uuid.NewMySqlOptimized());
 }
コード例 #12
0
 /// <summary>
 /// 初始化
 /// </summary>
 public override void Init()
 {
     this.Id = Uuid.Next();
     base.Init();
 }
コード例 #13
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldNotEqualNull()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsFalse(uuid.Equals(null));
        }
コード例 #14
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ToStringShouldReturnCorrectString()
        {
            var uuid = new Uuid(-1714729031470661412L, -8577612382363445748L);

            Assert.AreEqual("e8340f07-e924-40dc-88f6-32fc003c160c", uuid.ToString());
        }
コード例 #15
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ConvertToGuidShouldReturnCorrectGuid()
        {
            var uuid = new Uuid(-1714729031470661412L, -8577612382363445748L);

            Assert.AreEqual(new Guid("e8340f07-e924-40dc-88f6-32fc003c160c"), (Guid)uuid);
        }
コード例 #16
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void OperationOverloadUnequal_ShouldNotUnequalSimilarUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsFalse(uuid != new Uuid(1, 2));
        }
コード例 #17
0
        /// <summary>
        ///     Initializes the basic properties for adding a gatt characteristic
        ///     notification trigger
        /// </summary>
        private void ToastInit()
        {
            _toastName = string.Format("{0}{1}{2}", TOAST_STRING_PREFIX,
                                       _characteristic.Service.Device.DeviceId.GetHashCode(), Uuid.GetHashCode());
            Toastable         = (_characteristic.CharacteristicProperties & GattCharacteristicProperties.Notify) != 0;
            ToastRegistered   = ApplicationData.Current.LocalSettings.Values.ContainsKey(_toastName);
            ToastButtonActive = true;

            if (ToastRegistered)
            {
                // We need to add ourselves to the list of active toasts
                GlobalSettings.AddToast(this);
            }
        }
コード例 #18
0
        /// <summary>
        /// Creates instance transform substorages in the output.
        /// </summary>
        /// <param name="output">Output containing instance transform definitions.</param>
        private void CreateInstanceTransforms(Output output)
        {
            // Create and add substorages for instance transforms.
            Table wixInstanceTransformsTable = output.Tables["WixInstanceTransforms"];

            if (null != wixInstanceTransformsTable && 0 <= wixInstanceTransformsTable.Rows.Count)
            {
                string targetProductCode    = null;
                string targetUpgradeCode    = null;
                string targetProductVersion = null;

                Table targetSummaryInformationTable = output.Tables["_SummaryInformation"];
                Table targetPropertyTable           = output.Tables["Property"];

                // Get the data from target database
                foreach (Row propertyRow in targetPropertyTable.Rows)
                {
                    if ("ProductCode" == (string)propertyRow[0])
                    {
                        targetProductCode = (string)propertyRow[1];
                    }
                    else if ("ProductVersion" == (string)propertyRow[0])
                    {
                        targetProductVersion = (string)propertyRow[1];
                    }
                    else if ("UpgradeCode" == (string)propertyRow[0])
                    {
                        targetUpgradeCode = (string)propertyRow[1];
                    }
                }

                // Index the Instance Component Rows.
                Dictionary <string, ComponentRow> instanceComponentGuids = new Dictionary <string, ComponentRow>();
                Table targetInstanceComponentTable = output.Tables["WixInstanceComponent"];
                if (null != targetInstanceComponentTable && 0 < targetInstanceComponentTable.Rows.Count)
                {
                    foreach (Row row in targetInstanceComponentTable.Rows)
                    {
                        // Build up all the instances, we'll get the Components rows from the real Component table.
                        instanceComponentGuids.Add((string)row[0], null);
                    }

                    Table targetComponentTable = output.Tables["Component"];
                    foreach (ComponentRow componentRow in targetComponentTable.Rows)
                    {
                        string component = (string)componentRow[0];
                        if (instanceComponentGuids.ContainsKey(component))
                        {
                            instanceComponentGuids[component] = componentRow;
                        }
                    }
                }

                // Generate the instance transforms
                foreach (Row instanceRow in wixInstanceTransformsTable.Rows)
                {
                    string instanceId = (string)instanceRow[0];

                    Output instanceTransform = new Output(instanceRow.SourceLineNumbers);
                    instanceTransform.Type     = OutputType.Transform;
                    instanceTransform.Codepage = output.Codepage;

                    Table  instanceSummaryInformationTable = instanceTransform.EnsureTable(this.TableDefinitions["_SummaryInformation"]);
                    string targetPlatformAndLanguage       = null;

                    foreach (Row summaryInformationRow in targetSummaryInformationTable.Rows)
                    {
                        if (7 == (int)summaryInformationRow[0]) // PID_TEMPLATE
                        {
                            targetPlatformAndLanguage = (string)summaryInformationRow[1];
                        }

                        // Copy the row's data to the transform.
                        Row copyOfSummaryRow = instanceSummaryInformationTable.CreateRow(null);
                        copyOfSummaryRow[0] = summaryInformationRow[0];
                        copyOfSummaryRow[1] = summaryInformationRow[1];
                    }

                    // Modify the appropriate properties.
                    Table propertyTable = instanceTransform.EnsureTable(this.TableDefinitions["Property"]);

                    // Change the ProductCode property
                    string productCode = (string)instanceRow[2];
                    if ("*" == productCode)
                    {
                        productCode = Common.GenerateGuid();
                    }

                    Row productCodeRow = propertyTable.CreateRow(instanceRow.SourceLineNumbers);
                    productCodeRow.Operation          = RowOperation.Modify;
                    productCodeRow.Fields[1].Modified = true;
                    productCodeRow[0] = "ProductCode";
                    productCodeRow[1] = productCode;

                    // Change the instance property
                    Row instanceIdRow = propertyTable.CreateRow(instanceRow.SourceLineNumbers);
                    instanceIdRow.Operation          = RowOperation.Modify;
                    instanceIdRow.Fields[1].Modified = true;
                    instanceIdRow[0] = (string)instanceRow[1];
                    instanceIdRow[1] = instanceId;

                    if (null != instanceRow[3])
                    {
                        // Change the ProductName property
                        Row productNameRow = propertyTable.CreateRow(instanceRow.SourceLineNumbers);
                        productNameRow.Operation          = RowOperation.Modify;
                        productNameRow.Fields[1].Modified = true;
                        productNameRow[0] = "ProductName";
                        productNameRow[1] = (string)instanceRow[3];
                    }

                    if (null != instanceRow[4])
                    {
                        // Change the UpgradeCode property
                        Row upgradeCodeRow = propertyTable.CreateRow(instanceRow.SourceLineNumbers);
                        upgradeCodeRow.Operation          = RowOperation.Modify;
                        upgradeCodeRow.Fields[1].Modified = true;
                        upgradeCodeRow[0] = "UpgradeCode";
                        upgradeCodeRow[1] = instanceRow[4];

                        // Change the Upgrade table
                        Table targetUpgradeTable = output.Tables["Upgrade"];
                        if (null != targetUpgradeTable && 0 <= targetUpgradeTable.Rows.Count)
                        {
                            string upgradeId    = (string)instanceRow[4];
                            Table  upgradeTable = instanceTransform.EnsureTable(this.TableDefinitions["Upgrade"]);
                            foreach (Row row in targetUpgradeTable.Rows)
                            {
                                // In case they are upgrading other codes to this new product, leave the ones that don't match the
                                // Product.UpgradeCode intact.
                                if (targetUpgradeCode == (string)row[0])
                                {
                                    Row upgradeRow = upgradeTable.CreateRow(null);
                                    upgradeRow.Operation          = RowOperation.Add;
                                    upgradeRow.Fields[0].Modified = true;
                                    // I was hoping to be able to RowOperation.Modify, but that didn't appear to function.
                                    // upgradeRow.Fields[0].PreviousData = (string)row[0];

                                    // Inserting a new Upgrade record with the updated UpgradeCode
                                    upgradeRow[0] = upgradeId;
                                    upgradeRow[1] = row[1];
                                    upgradeRow[2] = row[2];
                                    upgradeRow[3] = row[3];
                                    upgradeRow[4] = row[4];
                                    upgradeRow[5] = row[5];
                                    upgradeRow[6] = row[6];

                                    // Delete the old row
                                    Row upgradeRemoveRow = upgradeTable.CreateRow(null);
                                    upgradeRemoveRow.Operation = RowOperation.Delete;
                                    upgradeRemoveRow[0]        = row[0];
                                    upgradeRemoveRow[1]        = row[1];
                                    upgradeRemoveRow[2]        = row[2];
                                    upgradeRemoveRow[3]        = row[3];
                                    upgradeRemoveRow[4]        = row[4];
                                    upgradeRemoveRow[5]        = row[5];
                                    upgradeRemoveRow[6]        = row[6];
                                }
                            }
                        }
                    }

                    // If there are instance Components generate new GUIDs for them.
                    if (0 < instanceComponentGuids.Count)
                    {
                        Table componentTable = instanceTransform.EnsureTable(this.TableDefinitions["Component"]);
                        foreach (ComponentRow targetComponentRow in instanceComponentGuids.Values)
                        {
                            string guid = targetComponentRow.Guid;
                            if (!String.IsNullOrEmpty(guid))
                            {
                                Row instanceComponentRow = componentTable.CreateRow(targetComponentRow.SourceLineNumbers);
                                instanceComponentRow.Operation          = RowOperation.Modify;
                                instanceComponentRow.Fields[1].Modified = true;
                                instanceComponentRow[0] = targetComponentRow[0];
                                instanceComponentRow[1] = Uuid.NewUuid(BindDatabaseCommand.WixComponentGuidNamespace, String.Concat(guid, instanceId)).ToString("B").ToUpper(CultureInfo.InvariantCulture);
                                instanceComponentRow[2] = targetComponentRow[2];
                                instanceComponentRow[3] = targetComponentRow[3];
                                instanceComponentRow[4] = targetComponentRow[4];
                                instanceComponentRow[5] = targetComponentRow[5];
                            }
                        }
                    }

                    // Update the summary information
                    Hashtable summaryRows = new Hashtable(instanceSummaryInformationTable.Rows.Count);
                    foreach (Row row in instanceSummaryInformationTable.Rows)
                    {
                        summaryRows[row[0]] = row;

                        if ((int)SummaryInformation.Transform.UpdatedPlatformAndLanguage == (int)row[0])
                        {
                            row[1] = targetPlatformAndLanguage;
                        }
                        else if ((int)SummaryInformation.Transform.ProductCodes == (int)row[0])
                        {
                            row[1] = String.Concat(targetProductCode, targetProductVersion, ';', productCode, targetProductVersion, ';', targetUpgradeCode);
                        }
                        else if ((int)SummaryInformation.Transform.ValidationFlags == (int)row[0])
                        {
                            row[1] = 0;
                        }
                        else if ((int)SummaryInformation.Transform.Security == (int)row[0])
                        {
                            row[1] = "4";
                        }
                    }

                    if (!summaryRows.Contains((int)SummaryInformation.Transform.UpdatedPlatformAndLanguage))
                    {
                        Row summaryRow = instanceSummaryInformationTable.CreateRow(null);
                        summaryRow[0] = (int)SummaryInformation.Transform.UpdatedPlatformAndLanguage;
                        summaryRow[1] = targetPlatformAndLanguage;
                    }
                    else if (!summaryRows.Contains((int)SummaryInformation.Transform.ValidationFlags))
                    {
                        Row summaryRow = instanceSummaryInformationTable.CreateRow(null);
                        summaryRow[0] = (int)SummaryInformation.Transform.ValidationFlags;
                        summaryRow[1] = "0";
                    }
                    else if (!summaryRows.Contains((int)SummaryInformation.Transform.Security))
                    {
                        Row summaryRow = instanceSummaryInformationTable.CreateRow(null);
                        summaryRow[0] = (int)SummaryInformation.Transform.Security;
                        summaryRow[1] = "4";
                    }

                    output.SubStorages.Add(new SubStorage(instanceId, instanceTransform));
                }
            }
        }
コード例 #19
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldNotEqualOtherType()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsFalse(uuid.Equals(new object()));
        }
コード例 #20
0
 public override int GetHashCode()
 {
     return(Uuid?.GetHashCode() ?? 0);
 }
コード例 #21
0
        private ServiceResult OnUserScalarValue2(
            ISystemContext context,
            MethodState method,
            NodeId objectId,
            DateTime dateTimeIn,
            Uuid guidIn,
            byte[] byteStringIn,
            XmlElement xmlElementIn,
            NodeId nodeIdIn,
            ExpandedNodeId expandedNodeIdIn,
            QualifiedName qualifiedNameIn,
            LocalizedText localizedTextIn,
            StatusCode statusCodeIn,
            object variantIn,
            ref DateTime dateTimeOut,
            ref Uuid guidOut,
            ref byte[] byteStringOut,
            ref XmlElement xmlElementOut,
            ref NodeId nodeIdOut,
            ref ExpandedNodeId expandedNodeIdOut,
            ref QualifiedName qualifiedNameOut,
            ref LocalizedText localizedTextOut,
            ref StatusCode statusCodeOut,
            ref object variantOut)
        {
            dateTimeOut = dateTimeIn;
            guidOut = guidIn;
            byteStringOut = byteStringIn;
            xmlElementOut = xmlElementIn;
            nodeIdOut = nodeIdIn;
            expandedNodeIdOut = expandedNodeIdIn;
            qualifiedNameOut = qualifiedNameIn;
            localizedTextOut = localizedTextIn;
            statusCodeOut = statusCodeIn;
            variantOut = variantIn;

            return ServiceResult.Good;
        }
コード例 #22
0
        /// <summary>
        /// Send message.
        /// </summary>
        /// <param name="message">Message.</param>
        protected override void OnSendInMessage(Message message)
        {
            switch (message.Type)
            {
            case MessageTypes.Reset:
            {
                _subscriptions.Clear();

                if (_client != null)
                {
                    try
                    {
                        DisposeClient();
                    }
                    catch (Exception ex)
                    {
                        SendOutError(ex);
                    }

                    _client = null;
                }

                SendOutMessage(new ResetMessage());

                break;
            }

            case MessageTypes.Connect:
            {
                if (_client != null)
                {
                    throw new InvalidOperationException(LocalizedStrings.Str1619);
                }

                _subscriptions.Clear();

                switch (Remoting)
                {
                case OpenECryRemoting.None:
                case OpenECryRemoting.Primary:
                    _client = new OECClient(new InPlaceThreadPolicy())
                    {
                        UUID = Uuid.To <string>(),
                        EventBatchInterval   = 0,
                        RemoteHostingEnabled = Remoting == OpenECryRemoting.Primary,
                        //PriceHost = "",
                        //AutoSubscribe = false
                    };
                    break;

                case OpenECryRemoting.Secondary:
                    _client = OECClient.CreateInstance(true);
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                if (EnableOECLogging)
                {
                    if (Remoting == OpenECryRemoting.Secondary)
                    {
                        this.AddWarningLog(LocalizedStrings.Str2552);
                    }
                    else
                    {
                        OEC.Log.ConsoleOutput = false;
                        _client.SetLoggingConfig(new LoggingConfiguration {
                                Level = OEC.API.LogLevel.All
                            });
                        OEC.Log.Initialize(new OECLogger(this));
                        OEC.Log.Start();
                    }
                }

                _client.OnLoginComplete += SessionOnLoginComplete;
                _client.OnLoginFailed   += SessionOnLoginFailed;
                _client.OnDisconnected  += SessionOnDisconnected;
                _client.OnBeginEvents   += SessionOnBeginEvents;
                _client.OnEndEvents     += SessionOnEndEvents;
                _client.OnError         += SessionOnError;

                _client.OnAccountRiskLimitChanged      += SessionOnAccountRiskLimitChanged;
                _client.OnAccountSummaryChanged        += SessionOnAccountSummaryChanged;
                _client.OnAllocationBlocksChanged      += SessionOnAllocationBlocksChanged;
                _client.OnAvgPositionChanged           += SessionOnAvgPositionChanged;
                _client.OnBalanceChanged               += SessionOnBalanceChanged;
                _client.OnCommandUpdated               += SessionOnCommandUpdated;
                _client.OnCompoundPositionGroupChanged += SessionOnCompoundPositionGroupChanged;
                _client.OnOrderConfirmed               += SessionOnOrderConfirmed;
                _client.OnOrderFilled                += SessionOnOrderFilled;
                _client.OnOrderStateChanged          += SessionOnOrderStateChanged;
                _client.OnDetailedPositionChanged    += SessionOnDetailedPositionChanged;
                _client.OnMarginCalculationCompleted += SessionOnMarginCalculationCompleted;
                _client.OnPortfolioMarginChanged     += SessionOnPortfolioMarginChanged;
                _client.OnPostAllocation             += SessionOnPostAllocation;
                _client.OnRiskLimitDetailsReceived   += SessionOnRiskLimitDetailsReceived;

                _client.OnBarsReceived += SessionOnBarsReceived;
                _client.OnContinuousContractRuleChanged += SessionOnContinuousContractRuleChanged;
                _client.OnContractChanged          += SessionOnContractChanged;
                _client.OnContractCreated          += SessionOnContractCreated;
                _client.OnContractRiskLimitChanged += SessionOnContractRiskLimitChanged;
                _client.OnContractsChanged         += SessionOnContractsChanged;
                _client.OnCurrencyPriceChanged     += SessionOnCurrencyPriceChanged;
                _client.OnDOMChanged               += SessionOnDomChanged;
                _client.OnDealQuoteUpdated         += SessionOnDealQuoteUpdated;
                _client.OnHistogramReceived        += SessionOnHistogramReceived;
                _client.OnHistoryReceived          += SessionOnHistoryReceived;
                _client.OnIndexComponentsReceived  += SessionOnIndexComponentsReceived;
                _client.OnLoggedUserClientsChanged += SessionOnLoggedUserClientsChanged;
                _client.OnNewsMessage              += SessionOnNewsMessage;
                _client.OnOsmAlgoListLoaded        += SessionOnOsmAlgoListLoaded;
                _client.OnOsmAlgoListUpdated       += SessionOnOsmAlgoListUpdated;
                _client.OnPitGroupsChanged         += SessionOnPitGroupsChanged;
                _client.OnPriceChanged             += SessionOnPriceChanged;
                _client.OnPriceTick += SessionOnPriceTick;
                _client.OnProductCalendarUpdated += SessionOnProductCalendarUpdated;
                _client.OnQuoteDetailsChanged    += SessionOnQuoteDetailsChanged;
                _client.OnRelationsChanged       += SessionOnRelationsChanged;
                _client.OnSymbolLookupReceived   += SessionOnSymbolLookupReceived;
                _client.OnTicksReceived          += SessionOnTicksReceived;
                _client.OnTradersChanged         += SessionOnTradersChanged;
                _client.OnUserMessage            += SessionOnUserMessage;
                _client.OnUserStatusChanged      += SessionOnUserStatusChanged;

                _client.Connect(Address.GetHost(), Address.GetPort(), Login, Password.To <string>(), UseNativeReconnect);

                break;
            }

            case MessageTypes.Disconnect:
            {
                if (_client == null)
                {
                    throw new InvalidOperationException(LocalizedStrings.Str1856);
                }

                DisposeClient();
                _client.Disconnect();
                break;
            }

            case MessageTypes.SecurityLookup:
            {
                ProcessSecurityLookup((SecurityLookupMessage)message);
                break;
            }

            case MessageTypes.OrderRegister:
            {
                ProcessOrderRegister((OrderRegisterMessage)message);
                break;
            }

            case MessageTypes.OrderCancel:
            {
                ProcessOrderCancel((OrderCancelMessage)message);
                break;
            }

            case MessageTypes.OrderReplace:
            {
                ProcessOrderReplace((OrderReplaceMessage)message);
                break;
            }

            case MessageTypes.PortfolioLookup:
            {
                ProcessPortfolioLookupMessage((PortfolioLookupMessage)message);
                break;
            }

            case MessageTypes.OrderStatus:
            {
                ProcessOrderStatusMessage();
                break;
            }

            case MessageTypes.MarketData:
            {
                ProcessMarketDataMessage((MarketDataMessage)message);
                break;
            }

            case MessageTypes.News:
            {
                var newsMsg = (Messages.NewsMessage)message;
                _client.SendMessage(_client.Users[newsMsg.Source], newsMsg.Headline);
                break;
            }
            }
        }
コード例 #23
0
        public async Task <(bool CanAcknowledge, Bundle?Bundle)> CanAcknowledgeAsync(ActorId recipient, Uuid bundleId)
        {
            var bundle = await _bundleRepository.GetNextUnacknowledgedAsync(recipient).ConfigureAwait(false);

            return(bundle != null && bundle.BundleId == bundleId
                ? (true, bundle)
                : (false, null));
        }
コード例 #24
0
 /// <summary>
 /// Sets the UUID in payload.
 /// </summary>
 /// <param name="payloadIndex">The payload index.</param>
 /// <param name="uuid">The UUID.</param>
 protected void SetUuidInPayload(int payloadIndex, Uuid uuid)
 {
     SetUnsignedShortInPayload(payloadIndex, (ushort)uuid);
 }
コード例 #25
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldEqualSimilarUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsTrue(uuid.Equals(new Uuid(1, 2)));
        }
コード例 #26
0
ファイル: XmlDecoder.cs プロジェクト: yuriik83/UA-.NET
        /// <summary>
        /// Reads a GUID from the stream.
        /// </summary>
        public Uuid ReadGuid(string fieldName)
        {
            Uuid value = new Uuid();

            if (BeginField(fieldName, true))
            {                
                PushNamespace(Namespaces.OpcUaXsd);
                value.GuidString = ReadString("String");
                PopNamespace();
                
                EndField(fieldName);
            }

            return value;
        }
コード例 #27
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void ShouldNotEqualOtherUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsFalse(uuid.Equals(new Uuid(3, 4)));
        }
コード例 #28
0
 public override int GetHashCode()
 {
     return(Uuid.GetHashCode());
 }
コード例 #29
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void OperationOverloadEqual_ShouldEqualSimilarUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsTrue(uuid == new Uuid(1, 2));
        }
コード例 #30
0
 public Nide8TokenAuthenticator(string nide8ID, string token, Uuid selectedProfileUUID, UserData userData) : base(token, selectedProfileUUID, userData)
 {
     Nide8ID = nide8ID;
     ProxyAuthServerAddress = string.Format("https://auth2.nide8.com:233/{0}/authserver", Nide8ID);
 }
コード例 #31
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void OperationOverloadEqual_ShouldNotEqualOtherUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsFalse(uuid == new Uuid(3, 4));
        }
コード例 #32
0
        /// <summary>
        /// Downloads a file from a URL
        /// </summary>
        /// <param name="url">The URL to download from</param>
        /// <returns>True if it was successful, false if not</returns>
        private async Task <bool> DownloadUrl(string url)
        {
            //Get the info
            DownloadInfo info = await Downloader.GetDownloadInfoFromUrl(url);

            //Validate
            if (info == null)
            {
                return(false);
            }
            if (info.VideoCodec == null && info.AudioCodec == null)
            {
                return(false);
            }
            if (info.RequestedUrls == null && info.Url == null)
            {
                return(false);
            }

            //Create a new file object
            string httpVideoUrl = "";
            string httpAudioUrl = "";
            int    uuid         = Uuid.GetUuid();

            if (!string.IsNullOrEmpty(info.VideoCodec) && info.VideoCodec != "none")
            {
                httpVideoUrl = "http://" + MediaserverIp + ":" + MediaserverPort + "/download/" + uuid + "." + info.Extension;
            }
            else
            {
                httpAudioUrl = "http://" + MediaserverIp + ":" + MediaserverPort + "/download/" + uuid + "." + info.Extension;
            }

            PlayableFile newFile = new PlayableFile(httpVideoUrl, httpAudioUrl, info.Title, null, new SubtitleInfo[0], info.Duration, false, FileType.Downloaded);

            //Add it to the list of files
            Files.Add(newFile);

            //Send available files updated message
            WebServer.SendRawData("AvailableFilesUpdated", new byte[0]);

            //Download the file to the temporary folder
            bool isSuccess = await Downloader.DownloadFileFromUrl(url, DownloadFilesPath + "\\incomplete\\" + uuid + "." + info.Extension);

            //If it was a success, change the availability to true, and add to the http server
            if (isSuccess)
            {
                File.Move(DownloadFilesPath + "\\incomplete\\" + uuid + "." + info.Extension, DownloadFilesPath + "\\" + uuid + "." + info.Extension);
                //SetHttpServerFiles();
            }
            //If it wasn't a success, remove it from the list of files
            else
            {
                Files.Remove(newFile);
                newFile.IsAvailable = true;
                WebServer.SendRawData("AvailableFilesUpdated", new byte[0]);
            }

            //Send available files updated message
            //WebServer.SendRawData("AvailableFilesUpdated", new byte[0]);

            //Return whether it was success
            return(isSuccess);
        }
コード例 #33
0
ファイル: UuidTest.cs プロジェクト: thickey/transit-csharp
        public void OperationOverloadUnequal_ShouldUnequalOtherUuid()
        {
            var uuid = new Uuid(1, 2);

            Assert.IsTrue(uuid != new Uuid(3, 4));
        }
コード例 #34
0
 /// <inheritdoc />
 public void WriteGuid(string fieldName, Uuid value)
 {
     _wrapped.WriteGuid(fieldName, value);
 }
コード例 #35
0
ファイル: EsdbEventStore.cs プロジェクト: Eventuous/eventuous
    public Task <AppendEventsResult> AppendEvents(
        StreamName stream,
        ExpectedStreamVersion expectedVersion,
        IReadOnlyCollection <StreamEvent> events,
        CancellationToken cancellationToken
        )
    {
        var proposedEvents = events.Select(ToEventData);

        var resultTask = expectedVersion == ExpectedStreamVersion.NoStream
            ? _client.AppendToStreamAsync(
            stream,
            StreamState.NoStream,
            proposedEvents,
            cancellationToken: cancellationToken
            ) : AnyOrNot(
            expectedVersion,
            () => _client.AppendToStreamAsync(
                stream,
                StreamState.Any,
                proposedEvents,
                cancellationToken: cancellationToken
                ),
            () => _client.AppendToStreamAsync(
                stream,
                expectedVersion.AsStreamRevision(),
                proposedEvents,
                cancellationToken: cancellationToken
                )
            );

        return(TryExecute(
                   async() => {
            var result = await resultTask.NoContext();

            return new AppendEventsResult(
                result.LogPosition.CommitPosition,
                result.NextExpectedStreamRevision.ToInt64()
                );
        },
                   stream,
                   () => new ErrorInfo("Unable to appends events to {Stream}", stream),
                   (s, ex) => {
            EventuousEventSource.Log.UnableToAppendEvents(stream, ex);
            return new AppendToStreamException(s, ex);
        }
                   ));

        EventData ToEventData(StreamEvent streamEvent)
        {
            var(eventType, contentType, payload) = _serializer.SerializeEvent(streamEvent.Payload !);

            return(new EventData(
                       Uuid.FromGuid(streamEvent.Id),
                       eventType,
                       payload,
                       _metaSerializer.Serialize(streamEvent.Metadata),
                       contentType
                       ));
        }
    }
コード例 #36
0
ファイル: PseudoRandom.cs プロジェクト: yuriik83/UA-.NET
        /// <summary>
        /// Returns a guid array.
        /// </summary>
        public Uuid[] GetUuidArray()
        {
            int length = GetInt32Range(-1, m_context.MaxArrayLength);

            if (length < 0)
            {
                return null;
            }

            Uuid[] value = new Uuid[length];

            for (int ii = 0; ii < value.Length; ii++)
            {
                value[ii] = (Uuid)GetGuid();
            }

            return value;
        }
コード例 #37
0
 public void Setup()
 {
     _guid1 = Guid.NewGuid();
     _uuid1 = (Uuid)_guid1;
 }
コード例 #38
0
        async Task <AsObject> ReconnectInvokeAsync(string pageUrl, string swfUrl, string tcUrl, string token)
        {
            var connect = new InvokeAmf0
            {
                MethodCall = new Method("connect", new object[] { false, ClientId, token, new CommandMessage
                                                                  {
                                                                      Operation     = CommandOperation.Login,
                                                                      CorrelationId = "",
                                                                      MessageId     = Uuid.NewUuid(),
                                                                      Destination   = "",
                                                                      Body          = token,
                                                                      Headers       = new AsObject
                                                                      {
                                                                          { FlexMessageHeaders.FlexMessagingVersion, 1.0 },
                                                                          { FlexMessageHeaders.FlexClientId, "my-rtmps" },
                                                                      }
                                                                  } }),
                ConnectionParameters =
                    new AsObject
                {
                    { "pageUrl", pageUrl },
                    { "objectEncoding", (double)objectEncoding },
                    { "capabilities", 239.0 },
                    { "audioCodecs", 3575.0 },
                    { "flashVer", "WIN 16,0,0,228" },
                    { "swfUrl", "app:/LolClient.swf/[[DYNAMIC]]/47" },
                    { "videoFunction", 1.0 },
                    { "fpad", false },
                    { "videoCodecs", 252.0 },
                    { "tcUrl", tcUrl },
                    { "app", "" }
                },
                InvokeId = GetNextInvokeId()
            };

            return((AsObject) await QueueCommandAsTask(connect, 3, 0, requireConnected : false));
        }
コード例 #39
0
 public Address(AggregateRoot parent, Uuid entityId)
     : base(parent, entityId)
 {
 }
コード例 #40
0
 public override string ToString()
 {
     return(Uuid.ToString());
 }
 public void GetById_returns_no_aggregate_with_a_different_ID_than_defined()
 {
     Given("a set of events with different aggregate ids in an event store",
           testContext =>
     {
         var eventStore = new InMemoryEventStore();
         eventStore.Insert(Uuid.NewId(), "Customer", new List <DomainEvent> {
             new CustomerCreated(), new CustomerNameChanged()
         });
         eventStore.Insert(Uuid.NewId(), "Customer", new List <DomainEvent> {
             new CustomerCreated()
         });
         eventStore.Insert(Uuid.NewId(), "Customer", new List <DomainEvent> {
             new CustomerCreated()
         });
         testContext.State.EventStore = eventStore;
     })
     .And("an empty snapshot store",
          testContext =>
     {
         testContext.State.SnapshotStore = new InMemorySnapshotStore();
     })
     .And("a configured domain context",
          testContext =>
     {
         var eventBus                    = new Mock <IEventBus>().Object;
         IEventStore eventStore          = testContext.State.EventStore;
         ISnapshotStore snapshotStore    = testContext.State.SnapshotStore;
         var domainRepository            = new DomainRepository(eventStore, snapshotStore);
         var domainContext               = new DomainContext(eventBus, eventStore, snapshotStore, domainRepository);
         testContext.State.DomainContext = domainContext;
     })
     .When("GetById for an aggregate with unknown id is called",
           testContext =>
     {
         var aggregate =
             ((DomainContext)testContext.State.DomainContext).GetById <Customer>(Uuid.NewId());
         testContext.State.Aggregate = aggregate;
     })
     .Then("it should return null",
           testContext =>
     {
         object obj = testContext.State.Aggregate;
         obj.Should().BeNull();
     });
 }
コード例 #42
0
 public Uuid uuid_NewTimeBased()
 {
     return(Uuid.NewTimeBased());
 }
コード例 #43
0
 public override int GetHashCode()
 {
     return(Uuid != null ? Uuid.GetHashCode() : 0);
 }
コード例 #44
0
        /// <summary>
        /// Converts a local value to a remote value.
        /// </summary>
        /// <param name="srcValue">The local value.</param>
        /// <param name="srcType">The data type of the local value.</param>
        /// <param name="dstType">The data type of the remote value.</param>
        /// <returns>The remote value.</returns>
        private object ConvertLocalToRemote(object srcValue, BuiltInType srcType, BuiltInType dstType)
        {
            // must determine the type from the source if the containing array is a variant.
            if (srcType == BuiltInType.Variant)
            {
                TypeInfo typeInfo = TypeInfo.Construct(srcValue);
                srcType = typeInfo.BuiltInType;
            }

            // no conversion by default.
            object dstValue = srcValue;

            // apply different conversions depending on the data type.
            switch (dstType)
            {
            case BuiltInType.Guid:
            {
                dstValue = new Uuid((string)srcValue);
                break;
            }

            case BuiltInType.XmlElement:
            {
                XmlDocument document = new XmlDocument();
                document.InnerXml = (string)srcValue;
                dstValue          = document.DocumentElement;
                break;
            }

            case BuiltInType.NodeId:
            {
                dstValue = GetRemoteNodeId((string)srcValue);
                break;
            }

            case BuiltInType.ExpandedNodeId:
            {
                ExpandedNodeId nodeId = ExpandedNodeId.Parse((string)srcValue);
                dstValue = GetRemoteExpandedNodeId(nodeId);
                break;
            }

            case BuiltInType.QualifiedName:
            {
                dstValue = GetRemoteBrowseName((string)srcValue);
                break;
            }

            case BuiltInType.LocalizedText:
            {
                dstValue = new LocalizedText((string)srcValue);
                break;
            }

            case BuiltInType.StatusCode:
            {
                dstValue = new StatusCode((uint)srcValue);
                break;
            }

            case BuiltInType.ExtensionObject:
            {
                BinaryDecoder decoder = new BinaryDecoder((byte[])srcValue, m_localMessageContext);
                dstValue = decoder.ReadExtensionObject(null);
                decoder.Close();
                break;
            }

            default:
            {
                if (dstType != srcType && dstType != BuiltInType.Variant && dstType != BuiltInType.Null)
                {
                    throw ComUtils.CreateComException(ResultIds.E_BADTYPE);
                }

                break;
            }
            }

            // all done.
            return(dstValue);
        }
コード例 #45
0
        /// <summary>
        /// Returns a random value of the specified built-in type.
        /// </summary>
        public object GetRandom(NodeId dataType, int valueRank, IList <uint> arrayDimensions, ITypeTable typeTree)
        {
            BuiltInType expectedType = TypeInfo.GetBuiltInType(dataType, typeTree);

            // calculate total number of dimensions.
            int dimensions = 0;

            switch (valueRank)
            {
            case ValueRanks.Any:
            {
                if (arrayDimensions != null && arrayDimensions.Count > 0)
                {
                    dimensions = arrayDimensions.Count;
                    break;
                }

                dimensions = this.GetRandomRange(0, 1);
                break;
            }

            case ValueRanks.ScalarOrOneDimension:
            {
                dimensions = this.GetRandomRange(0, 1);
                break;
            }

            case ValueRanks.OneOrMoreDimensions:
            {
                if (arrayDimensions != null && arrayDimensions.Count > 0)
                {
                    dimensions = arrayDimensions.Count;
                    break;
                }

                dimensions = this.GetRandomRange(1, 1);
                break;
            }

            case ValueRanks.Scalar:
            {
                dimensions = 0;
                break;
            }

            default:
            {
                dimensions = valueRank;
                break;
            }
            }

            // return a random scalar.
            if (dimensions == 0)
            {
                if (expectedType == BuiltInType.Variant)
                {
                    // randomly choose a built-in type.
                    BuiltInType builtInType = BuiltInType.Variant;

                    while (builtInType == BuiltInType.Variant || builtInType == BuiltInType.DataValue)
                    {
                        builtInType = (BuiltInType)m_random.NextInt32((int)BuiltInType.Variant);
                    }

                    return(GetRandomVariant(builtInType, false));
                }

                return(GetRandom(expectedType));
            }

            // calculate the length of each dimension.
            int[] actualDimensions = new int[dimensions];

            for (int ii = 0; ii < dimensions; ii++)
            {
                if (arrayDimensions != null && arrayDimensions.Count > ii)
                {
                    actualDimensions[ii] = (int)arrayDimensions[ii];
                }

                while (actualDimensions[ii] == 0)
                {
                    actualDimensions[ii] = m_random.NextInt32(m_maxArrayLength);
                }
            }

            // create an array.
            Array output = TypeInfo.CreateArray(expectedType, actualDimensions);

            // generate random values for each element in the array.
            int length = output.Length;

            int[] indexes = new int[actualDimensions.Length];

            for (int ii = 0; ii < length; ii++)
            {
                int divisor = output.Length;

                for (int jj = 0; jj < indexes.Length; jj++)
                {
                    divisor    /= actualDimensions[jj];
                    indexes[jj] = (ii / divisor) % actualDimensions[jj];
                }

                object value = GetRandom(dataType, ValueRanks.Scalar, null, typeTree);

                if (value != null)
                {
                    if (expectedType == BuiltInType.Guid)
                    {
                        value = new Uuid((Guid)value);
                    }

                    output.SetValue(value, indexes);
                }
            }

            // return array value.
            return(output);
        }
コード例 #46
0
ファイル: LoLClient.cs プロジェクト: silkgamers/HesaElobuddy
 private Task <T> LcdsServiceProxyCall <T>(string service, string method, params object[] parameters)
 {
     return(this.InvokeAsync <T>("lcdsServiceProxy", "call", (object)Uuid.NewUuid(), (object)service, (object)method, (object)parameters));
 }
コード例 #47
0
        public static ClusterInfo FromGrpcClusterInfo(EventStore.Cluster.ClusterInfo grpcCluster)
        {
            var receivedMembers = Array.ConvertAll(grpcCluster.Members.ToArray(), x =>
                                                   new MemberInfo(
                                                       Uuid.FromDto(x.InstanceId).ToGuid(), x.TimeStamp.FromTicksSinceEpoch(), (VNodeState)x.State,
                                                       x.IsAlive,
                                                       !x.InternalTcpUsesTls ? new IPEndPoint(IPAddress.Parse(x.InternalTcp.Address), (int)x.InternalTcp.Port) : null,
                                                       x.InternalTcpUsesTls ? new IPEndPoint(IPAddress.Parse(x.InternalTcp.Address), (int)x.InternalTcp.Port) : null,
                                                       !x.ExternalTcpUsesTls && x.ExternalTcp != null ? new IPEndPoint(IPAddress.Parse(x.ExternalTcp.Address), (int)x.ExternalTcp.Port) : null,
                                                       x.ExternalTcpUsesTls && x.ExternalTcp != null ? new IPEndPoint(IPAddress.Parse(x.ExternalTcp.Address), (int)x.ExternalTcp.Port) : null,
                                                       new IPEndPoint(IPAddress.Parse(x.InternalHttp.Address), (int)x.InternalHttp.Port),
                                                       new IPEndPoint(IPAddress.Parse(x.ExternalHttp.Address), (int)x.ExternalHttp.Port),
                                                       x.LastCommitPosition, x.WriterCheckpoint, x.ChaserCheckpoint,
                                                       x.EpochPosition, x.EpochNumber, Uuid.FromDto(x.EpochId).ToGuid(), x.NodePriority,
                                                       x.IsReadOnlyReplica
                                                       )).ToArray();

            return(new ClusterInfo(receivedMembers));
        }
コード例 #48
0
        public Variant ReadVariant(string fieldName)
        {
            // read the encoding byte.
            byte encodingByte = m_reader.ReadByte();

            Variant value = new Variant();

            if ((encodingByte & (byte)VariantArrayEncodingBits.Array) != 0)
            {
                // read the array length.
                int length = m_reader.ReadInt32();

                if (length < 0)
                {
                    return value;
                }

                Array array = null;

                BuiltInType builtInType = (BuiltInType)(encodingByte & (byte)VariantArrayEncodingBits.TypeMask);
                
                switch (builtInType)
                {
                    case BuiltInType.Boolean:
                    {
                        bool[] values = new bool[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadBoolean(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.SByte:
                    {
                        sbyte[] values = new sbyte[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadSByte(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Byte:
                    {
                        byte[] values = new byte[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadByte(null);
                        }

                        array = values;
                        break;
                    }

                    case BuiltInType.Int16:
                    {
                        short[] values = new short[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadInt16(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.UInt16:
                    {
                        ushort[] values = new ushort[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadUInt16(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Int32:
                    case BuiltInType.Enumeration:
                    {
                        int[] values = new int[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadInt32(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.UInt32:
                    {
                        uint[] values = new uint[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadUInt32(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Int64:
                    {
                        long[] values = new long[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadInt64(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.UInt64:
                    {
                        ulong[] values = new ulong[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadUInt64(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Float:
                    {
                        float[] values = new float[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadFloat(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Double:
                    {
                        double[] values = new double[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadDouble(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.String:
                    {
                        string[] values = new string[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadString(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.DateTime:
                    {
                        DateTime[] values = new DateTime[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadDateTime(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.Guid:
                    {
                        Uuid[] values = new Uuid[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadGuid(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.ByteString:
                    {
                        byte[][] values = new byte[length][];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadByteString(null);
                        }
                        
                        array = values;
                        break;
                    }

                    case BuiltInType.XmlElement:
                    {
                        try
                        {
                            XmlElement[] values = new XmlElement[length];

                            for (int ii = 0; ii < values.Length; ii++)
                            {
                                values[ii] = ReadXmlElement(null);
                            }

                            array = values;
                        }
                        catch(Exception ex)
                        {
                            Utils.Trace(ex, "Error reading variant.");
                        }

                        break;
                    }
                        
                    case BuiltInType.NodeId:
                    {
                        NodeId[] values = new NodeId[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadNodeId(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.ExpandedNodeId:
                    {
                        ExpandedNodeId[] values = new ExpandedNodeId[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadExpandedNodeId(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.StatusCode:
                    {
                        StatusCode[] values = new StatusCode[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadStatusCode(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.QualifiedName:
                    {
                        QualifiedName[] values = new QualifiedName[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadQualifiedName(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.LocalizedText:
                    {
                        LocalizedText[] values = new LocalizedText[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadLocalizedText(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.ExtensionObject:
                    {
                        ExtensionObject[] values = new ExtensionObject[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadExtensionObject();
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.DataValue:
                    {
                        DataValue[] values = new DataValue[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadDataValue(null);
                        }
                        
                        array = values;
                        break;
                    }
                        
                    case BuiltInType.Variant:
                    {
                        Variant[] values = new Variant[length];

                        for (int ii = 0; ii < values.Length; ii++)
                        {
                            values[ii] = ReadVariant(null);
                        }
                        
                        array = values;
                        break;
                    }

                    default:
                    {
                        throw new ServiceResultException(
                            StatusCodes.BadDecodingError,
                            Utils.Format("Cannot decode unknown type in Variant object (0x{0:X2}).", encodingByte)); 
                    }
                }

                if (array == null)
                {
                    value = new Variant(StatusCodes.BadEncodingError);
                }
                else
                {
                    // check for multi-dimensional arrays.
                    if ((encodingByte & (byte)VariantArrayEncodingBits.ArrayDimensions) != 0)
                    {
                        Int32Collection dimensions = ReadInt32Array(null);

                        if (dimensions != null && dimensions.Count > 0)
                        {
                            value = new Variant(new Matrix(array, builtInType, dimensions.ToArray()));
                        }
                        else
                        {
                            value = new Variant(new Matrix(array, builtInType));
                        }
                    }
                    else
                    {
                        value = new Variant(array);
                    }
                }
            }

            else
            {
                switch ((BuiltInType)encodingByte)
                {
                    case BuiltInType.Null:
                    {
                        value.Value = null;
                        break;
                    }

                    case BuiltInType.Boolean:
                    {
                        value.Set(ReadBoolean(null));
                        break;
                    }

                    case BuiltInType.SByte:
                    {
                        value.Set(ReadSByte(null));
                        break;
                    }

                    case BuiltInType.Byte:
                    {
                        value.Set(ReadByte(null));
                        break;
                    }

                    case BuiltInType.Int16:
                    {
                        value.Set(ReadInt16(null));
                        break;
                    }

                    case BuiltInType.UInt16:
                    {
                        value.Set(ReadUInt16(null));
                        break;
                    }

                    case BuiltInType.Int32:
                    case BuiltInType.Enumeration:
                    {
                        value.Set(ReadInt32(null));
                        break;
                    }

                    case BuiltInType.UInt32:
                    {
                        value.Set(ReadUInt32(null));
                        break;
                    }

                    case BuiltInType.Int64:
                    {
                        value.Set(ReadInt64(null));
                        break;
                    }

                    case BuiltInType.UInt64:
                    {
                        value.Set(ReadUInt64(null));
                        break;
                    }

                    case BuiltInType.Float:
                    {
                        value.Set(ReadFloat(null));
                        break;
                    }

                    case BuiltInType.Double:
                    {
                        value.Set(ReadDouble(null));
                        break;
                    }

                    case BuiltInType.String:
                    {
                        value.Set(ReadString(null));
                        break;
                    }

                    case BuiltInType.DateTime:
                    {
                        value.Set(ReadDateTime(null));
                        break;
                    }

                    case BuiltInType.Guid:
                    {
                        value.Set(ReadGuid(null));
                        break;
                    }

                    case BuiltInType.ByteString:
                    {
                        value.Set(ReadByteString(null));
                        break;
                    }

                    case BuiltInType.XmlElement:
                    {
                        try
                        {
                            value.Set(ReadXmlElement(null));
                        }
                        catch(Exception ex)
                        {
                            Utils.Trace(ex, "Error reading xml element for variant.");
                            value.Set(StatusCodes.BadEncodingError);
                        }                        
                        break;
                    }

                    case BuiltInType.NodeId:
                    {
                        value.Set(ReadNodeId(null));
                        break;
                    }

                    case BuiltInType.ExpandedNodeId:
                    {
                        value.Set(ReadExpandedNodeId(null));
                        break;
                    }
                        
                    case BuiltInType.StatusCode:
                    {
                        value.Set(ReadStatusCode(null));
                        break;
                    }

                    case BuiltInType.QualifiedName:
                    {
                        value.Set(ReadQualifiedName(null));
                        break;
                    }

                    case BuiltInType.LocalizedText:
                    {
                        value.Set(ReadLocalizedText(null));
                        break;
                    }

                    case BuiltInType.ExtensionObject:
                    {
                        value.Set(ReadExtensionObject());
                        break;
                    }

                    case BuiltInType.DataValue:
                    {
                        value.Set(ReadDataValue(null));
                        break;
                    }

                    default:
                    {
                        throw new ServiceResultException(
                            StatusCodes.BadDecodingError,
                            Utils.Format("Cannot decode unknown type in Variant object (0x{0:X2}).", encodingByte)); 
                    }
                }
            }

            return value;
        }
コード例 #49
0
        protected override async Task WriteEventsToStoreAsync(IEnumerable <IDomainEventDescriptor> events, CancellationToken cancellationToken)
        {
            var aggregateGroup = events.GroupBy(x => GenerateStreamId(x.AggregateType, x.AggregateId));

            var eventDataGroups = aggregateGroup.Select(group =>
            {
                var eventList = group.ToList();

                var eventDatas = eventList.Select(x =>
                {
                    byte[] data;
                    byte[] metadata;

                    // serialize data
                    using (var ms = new MemoryStream())
                        using (var writer = new BsonDataWriter(ms))
                        {
                            JsonSerializer serializer   = new JsonSerializer();
                            serializer.TypeNameHandling = TypeNameHandling.All;
                            serializer.Serialize(writer, x.Event);
                            data = ms.ToArray();
                        }

                    // serialize metadata
                    using (var ms = new MemoryStream())
                        using (var writer = new BsonDataWriter(ms))
                        {
                            JsonSerializer serializer = new JsonSerializer();
                            serializer.Serialize(writer, x.Metadata);
                            metadata = ms.ToArray();
                        }

                    return(new EventData(
                               Uuid.FromGuid(x.EventId),
                               x.EventType,
                               data,
                               metadata,
                               "application/octet-stream"
                               ));
                });

                if (eventList.Any(x => x.IsPublished))
                {
                    throw new InvalidOperationException("Cannot publish events that have been published");
                }

                var firstEvent = eventList.First();

                return(StreamId: group.Key, EventDatas: eventDatas, ExpectedVersionBeforeAppend: firstEvent.Version - 1L);
            });

            foreach (var group in eventDataGroups)
            {
                // expect no stream when there is not positive version
                if (group.ExpectedVersionBeforeAppend == -1)
                {
                    await EventStoreClient.AppendToStreamAsync(
                        group.StreamId,
                        StreamState.NoStream,
                        group.EventDatas,
                        cancellationToken : cancellationToken
                        );
                }
                // expect stream when there an unknow version
                else if (group.ExpectedVersionBeforeAppend == DomainEventDescriptor.UnknowVersion - 1)
                {
                    await EventStoreClient.AppendToStreamAsync(
                        group.StreamId,
                        StreamState.StreamExists,
                        group.EventDatas,
                        cancellationToken : cancellationToken
                        );
                }
                // expect stream when there is a valid version
                else
                {
                    await EventStoreClient.AppendToStreamAsync(
                        group.StreamId,
                        StreamRevision.FromInt64(group.ExpectedVersionBeforeAppend),
                        group.EventDatas,
                        cancellationToken : cancellationToken
                        );
                }
            }
        }
コード例 #50
0
ファイル: JsonEncoder.cs プロジェクト: OPCFoundation/UA-.NET
 /// <summary>
 /// Writes a GUID to the stream.
 /// </summary>
 public void WriteGuid(string fieldName, Uuid value)
 {
     if (value == Uuid.Empty)
     {
         WriteSimpleField(fieldName, null, false);
     }
     else
     {
         WriteSimpleField(fieldName, value.ToString(), true);
     }
 }
コード例 #51
0
 private bool Equals(MemberInfo other)
 {
     return(Uuid.Equals(other.Uuid));
 }
コード例 #52
0
        private ServiceResult OnUserArrayValue2(
            ISystemContext context,
            MethodState method,
            NodeId objectId,
            DateTime[] dateTimeIn,
            Uuid[] guidIn,
            byte[][] byteStringIn,
            XmlElement[] xmlElementIn,
            NodeId[] nodeIdIn,
            ExpandedNodeId[] expandedNodeIdIn,
            QualifiedName[] qualifiedNameIn,
            LocalizedText[] localizedTextIn,
            StatusCode[] statusCodeIn,
            Variant[] variantIn,
            ref DateTime[] dateTimeOut,
            ref Uuid[] guidOut,
            ref byte[][] byteStringOut,
            ref XmlElement[] xmlElementOut,
            ref NodeId[] nodeIdOut,
            ref ExpandedNodeId[] expandedNodeIdOut,
            ref QualifiedName[] qualifiedNameOut,
            ref LocalizedText[] localizedTextOut,
            ref StatusCode[] statusCodeOut,
            ref Variant[] variantOut)
        {
            dateTimeOut = dateTimeIn;
            guidOut = guidIn;
            byteStringOut = byteStringIn;
            xmlElementOut = xmlElementIn;
            nodeIdOut = nodeIdIn;
            expandedNodeIdOut = expandedNodeIdIn;
            qualifiedNameOut = qualifiedNameIn;
            localizedTextOut = localizedTextIn;
            statusCodeOut = statusCodeIn;
            variantOut = variantIn;

            return ServiceResult.Good;
        }
コード例 #53
0
 public override int GetHashCode() => Uuid.GetHashCode();
コード例 #54
0
        /// <summary>
        /// Writes a GUID to the stream.
        /// </summary>
        public void WriteGuid(string fieldName, Uuid value)
        {            
            if (BeginField(fieldName, false, false))
            {
                PushNamespace(Namespaces.OpcUaXsd);
                WriteString("String", value.GuidString);
                PopNamespace();

                EndField(fieldName);
            }
        }
コード例 #55
0
        /// <summary>
        /// Converts a local value to a remote value.
        /// </summary>
        /// <param name="srcValue">The local value.</param>
        /// <param name="srcType">The data type of the local value.</param>
        /// <param name="dstType">The data type of the remote value.</param>
        /// <returns>The remote value.</returns>
        private object ConvertLocalToRemote(object srcValue, BuiltInType srcType, BuiltInType dstType)
        {
            // must determine the type from the source if the containing array is a variant.
            if (srcType == BuiltInType.Variant)
            {
                TypeInfo typeInfo = TypeInfo.Construct(srcValue);
                srcType = typeInfo.BuiltInType;
            }

            // no conversion by default.
            object dstValue = srcValue;

            // apply different conversions depending on the data type.
            switch (dstType)
            {
                case BuiltInType.Guid:
                {
                    dstValue = new Uuid((string)srcValue);
                    break;
                }

                case BuiltInType.XmlElement:
                {
                    XmlDocument document = new XmlDocument();
                    document.InnerXml = (string)srcValue;
                    dstValue = document.DocumentElement;
                    break;
                }

                case BuiltInType.NodeId:
                {
                    dstValue = GetRemoteNodeId((string)srcValue);
                    break;
                }

                case BuiltInType.ExpandedNodeId:
                {
                    ExpandedNodeId nodeId = ExpandedNodeId.Parse((string)srcValue);
                    dstValue = GetRemoteExpandedNodeId(nodeId);
                    break;
                }

                case BuiltInType.QualifiedName:
                {
                    dstValue = GetRemoteBrowseName((string)srcValue);
                    break;
                }

                case BuiltInType.LocalizedText:
                {
                    dstValue = new LocalizedText((string)srcValue);
                    break;
                }

                case BuiltInType.StatusCode:
                {
                    dstValue = new StatusCode((uint)srcValue);
                    break;
                }

                case BuiltInType.ExtensionObject:
                {
                    BinaryDecoder decoder = new BinaryDecoder((byte[])srcValue, m_localMessageContext);
                    dstValue = decoder.ReadExtensionObject(null);
                    decoder.Close();
                    break;
                }

                default:
                {
                    if (dstType != srcType && dstType != BuiltInType.Variant && dstType != BuiltInType.Null)
                    {
                        throw ComUtils.CreateComException(ResultIds.E_BADTYPE);
                    }

                    break;
                }
            }

            // all done.
            return dstValue;
        }