Exemple #1
0
        void DoTest_HackOneSeqDeep(StackConsts.SDP_Data_Element_Type expectedET,
                                   byte[] expectedDataValue,
                                   ServiceRecord r)
        {
            var stuff = BluetopiaTesting.InitMockery_SdpCreator();
            //
            const UInt16 attrId          = 0xF234;
            var          expectedElement = new Structs.SDP_Data_Element__Class_ElementArray(
                StackConsts.SDP_Data_Element_Type.Sequence,
                1, new Structs.SDP_Data_Element__Class[] {
                new Structs.SDP_Data_Element__Class_InlineByteArray(
                    expectedET,
                    expectedDataValue.Length, expectedDataValue)
            });

            Expect.Once.On(stuff.MockApi2).Method("SDP_Add_Attribute")
            .With(
                stuff.StackId, stuff.SrHandle,
                attrId,
                expectedElement
                )
            .Will(Return.Value(BluetopiaError.OK));
            //
            stuff.DutSdpCreator.CreateServiceRecord(r);
            stuff.Mockery_VerifyAllExpectationsHaveBeenMet();
            VerifyDispose(stuff);
        }
 public SdpServiceExpectedCall(UInt16 attrId,
                               StackConsts.SDP_Data_Element_Type attrType, UInt32 len, byte[] val)
 {
     this.attrId  = attrId;
     this.element = new Structs.SDP_Data_Element__Class_NonInlineByteArray(
         attrType, len, val);
 }
Exemple #3
0
        void DoTest_HackOneSeqDeep(StackConsts.SDP_Data_Element_Type expectedET,
                                   byte[] expectedDataValue,
                                   ServiceElement element)
        {
            var r = new ServiceRecord(new ServiceAttribute(0xF234,
                                                           element));

            //==
            r = BluetopiaTesting.HackAddSvcClassList(r);
            //==
            DoTest_HackOneSeqDeep(expectedET, expectedDataValue, r);
        }
 public SdpServiceExpectedCall(UInt16 attrId,
                               StackConsts.SDP_Data_Element_Type attrType, byte[] val)
 {
     this.attrId = attrId;
     //var reversed = (byte[])val.Clone();
     //if (attrType != StackConsts.SDP_Data_Element_Type.UUID_128) {
     //    Array.Reverse(reversed);
     //}
     //this.element = new Structs.SDP_Data_Element__Class_InlineByteArray(
     //    attrType, val.Length, reversed);
     this.element = new Structs.SDP_Data_Element__Class_InlineByteArray(
         attrType, val.Length, val);
 }
        private static void Map(StackConsts.SDP_Data_Element_Type sdpDataElementType,
                                out ElementTypeDescriptor etd, out SizeIndex sizeIndex)
        {
            const SizeIndex NotUsed = SizeIndex.LengthOneByteOrNil;

            switch (sdpDataElementType)
            {
            // Signed/Unsigned Integer
            case StackConsts.SDP_Data_Element_Type.UnsignedInteger1Byte:
                etd       = ElementTypeDescriptor.UnsignedInteger;
                sizeIndex = SizeIndex.LengthOneByteOrNil;
                break;

            case StackConsts.SDP_Data_Element_Type.SignedInteger1Byte:
                etd       = ElementTypeDescriptor.TwosComplementInteger;
                sizeIndex = SizeIndex.LengthOneByteOrNil;
                break;

            case StackConsts.SDP_Data_Element_Type.UnsignedInteger2Bytes:
                etd       = ElementTypeDescriptor.UnsignedInteger;
                sizeIndex = SizeIndex.LengthTwoBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.SignedInteger2Bytes:
                etd       = ElementTypeDescriptor.TwosComplementInteger;
                sizeIndex = SizeIndex.LengthTwoBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.UnsignedInteger4Bytes:
                etd       = ElementTypeDescriptor.UnsignedInteger;
                sizeIndex = SizeIndex.LengthFourBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.SignedInteger4Bytes:
                etd       = ElementTypeDescriptor.TwosComplementInteger;
                sizeIndex = SizeIndex.LengthFourBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.UnsignedInteger8Bytes:
                etd       = ElementTypeDescriptor.UnsignedInteger;
                sizeIndex = SizeIndex.LengthEightBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.SignedInteger8Bytes:
                etd       = ElementTypeDescriptor.TwosComplementInteger;
                sizeIndex = SizeIndex.LengthEightBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.UnsignedInteger16Bytes:
                etd       = ElementTypeDescriptor.UnsignedInteger;
                sizeIndex = SizeIndex.LengthSixteenBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.SignedInteger16Bytes:
                etd       = ElementTypeDescriptor.TwosComplementInteger;
                sizeIndex = SizeIndex.LengthSixteenBytes;
                break;

            // Strings
            case StackConsts.SDP_Data_Element_Type.TextString:
                etd       = ElementTypeDescriptor.TextString;
                sizeIndex = NotUsed;
                break;

            case StackConsts.SDP_Data_Element_Type.URL:
                etd       = ElementTypeDescriptor.Url;
                sizeIndex = NotUsed;
                break;

            // UUID
            case StackConsts.SDP_Data_Element_Type.UUID_16:
                etd       = ElementTypeDescriptor.Uuid;
                sizeIndex = SizeIndex.LengthTwoBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.UUID_32:
                etd       = ElementTypeDescriptor.Uuid;
                sizeIndex = SizeIndex.LengthTwoBytes;
                break;

            case StackConsts.SDP_Data_Element_Type.UUID_128:
                etd       = ElementTypeDescriptor.Uuid;
                sizeIndex = SizeIndex.LengthFourBytes;
                break;

            // Seq/Alt
            case StackConsts.SDP_Data_Element_Type.Sequence:
                etd       = ElementTypeDescriptor.ElementSequence;
                sizeIndex = NotUsed;
                break;

            case StackConsts.SDP_Data_Element_Type.Alternative:
                etd       = ElementTypeDescriptor.ElementAlternative;
                sizeIndex = NotUsed;
                break;

            // Nil/Boolean/etc.
            case StackConsts.SDP_Data_Element_Type.Boolean:
                etd       = ElementTypeDescriptor.Boolean;
                sizeIndex = SizeIndex.LengthOneByteOrNil;
                break;

            case StackConsts.SDP_Data_Element_Type.NIL:
                etd       = ElementTypeDescriptor.Nil;
                sizeIndex = SizeIndex.LengthOneByteOrNil;
                break;

            case StackConsts.SDP_Data_Element_Type.NULL:
                Debug.Fail("SDP_Data_Element_Type.deNULL");
                etd       = ElementTypeDescriptor.Unknown;
                sizeIndex = SizeIndex.LengthOneByteOrNil;
                break;

            //
            default:
                Debug.Fail("Unexpected SDP_Data_Element_Type: 0x" + ((int)sdpDataElementType).ToString("X"));
                etd       = ElementTypeDescriptor.Unknown;
                sizeIndex = SizeIndex.AdditionalUInt32;
                break;
            }
        }