Exemplo n.º 1
0
            static public NMessageHandle.UdbusMessageHandle StructureToHandle(NMessageStruct.UdbusMessageHandle msgStruct)
            {
                UdbusMessageBuilder builder = new UdbusMessageBuilder();

                builder.UdbusMessage(msgStruct.serial);

                string path        = msgStruct.path;
                string destination = msgStruct.destination;
                string interface_  = msgStruct.interface_;
                string error_name  = msgStruct.error_name;
                string method      = msgStruct.method;
                string sender      = msgStruct.sender;

                msgStruct.path = msgStruct.destination = msgStruct.interface_ = msgStruct.error_name = msgStruct.method = msgStruct.sender = null;

                Marshal.StructureToPtr(msgStruct, builder.Message.handle, false);

                builder
                .SetPath(path)
                .SetDestination(destination)
                .SetInterface(interface_)
                .SetErrorName(error_name)
                .SetMethod(method)
                .SetSender(sender)
                ;

                return(builder.Message);
            }
Exemplo n.º 2
0
        public override int MockIORead(IntPtr priv, byte[] buf, System.UInt32 count)
        {
            int nRead = base.MockIORead(priv, buf, count);

            if (nRead == count) // If read it all back
            {
                MockStoreUdbusTransport tempTransport = new MockStoreUdbusTransport();
                tempTransport.Stream = new System.IO.MemoryStream(buf);
                tempTransport.Stream.Seek(0, System.IO.SeekOrigin.Begin
                ManagedDbusIo dbus_io = new ManagedDbusIo();
                tempTransport.PopulateDbio(ref dbus_io);
                NMessageHandle.UdbusMessageHandle msg;
                UdbusMsgHandleFunctions.dbus_msg_recv(ref dbus_io, out msg);
                if (msg.HandleToStructure().reply_serial == this.lastSerial)
                {
                    UdbusMessageBuilder builder = new UdbusMessageBuilder();
                    // No can do since no accessors.
                    // Also, how would we then turn this back into binary format ??
                    builder.SetReplySerial(this.lastSerial);
                }

            } // Ends if read it all back

            return nRead;
        }
Exemplo n.º 3
0
        static void WriteSnippets()
        {
            //string structSig = "(bs)";
            dbus_type[] terminator  = new dbus_type[] { dbus_type.DBUS_INVALID };
            dbus_type[] structSig   = new dbus_type[] { dbus_type.DBUS_STRUCT_BEGIN, dbus_type.DBUS_BOOLEAN, dbus_type.DBUS_STRING, dbus_type.DBUS_STRUCT_END };
            dbus_type[] structTypes = structSig.Concat(terminator).ToArray();
            //object[] astruct = new object[] { dbus_union.CreateStruct(new object[] { true, "One" }, structTypes),
            //    dbus_union.CreateStruct(new object[] { false, "Two" }, structTypes)
            //};
            object[] astruct = new object[] { new object[] { true, "One" },
                                              new object[] { false, "Two" } };
            object[] adict = new object[] {
                new object[] { 1, new object[] { true, "One" } },
                new object[] { 2, new object[] { false, "Two" } }
            };
            dbus_type[] dictTypes = new dbus_type[] { dbus_type.DBUS_ARRAY, dbus_type.DBUS_DICT_BEGIN, dbus_type.DBUS_INT32 }
            .Concat(structSig)
            .Concat(new dbus_type[] { dbus_type.DBUS_DICT_END })
            .Concat(terminator)
            .ToArray();
            dbus_union s = dbus_union.CreateStruct(astruct, structTypes);
            dbus_union d = dbus_union.Create(adict, dictTypes);

            UdbusMessageBuilder builder = new UdbusMessageBuilder();
            //MarshalWriteObjectDelegate del = UdbusMessageBuilder.BodyAdd_String;
        }
Exemplo n.º 4
0
            public static NMessageHandle.UdbusMessageHandle StructureToHandle(NMessageStruct.UdbusMessageHandle msgStruct)
            {
                UdbusMessageBuilder builder = new UdbusMessageBuilder();
                builder.UdbusMessage(msgStruct.serial);

                string path = msgStruct.path;
                string destination = msgStruct.destination;
                string interface_ = msgStruct.interface_;
                string error_name = msgStruct.error_name;
                string method = msgStruct.method;
                string sender = msgStruct.sender;

                msgStruct.path = msgStruct.destination = msgStruct.interface_ = msgStruct.error_name = msgStruct.method = msgStruct.sender = null;

                Marshal.StructureToPtr(msgStruct, builder.Message.handle, false);

                builder
                    .SetPath(path)
                    .SetDestination(destination)
                    .SetInterface(interface_)
                    .SetErrorName(error_name)
                    .SetMethod(method)
                    .SetSender(sender)
                    ;

                return builder.Message;
            }
Exemplo n.º 5
0
        public override int MockIORead(IntPtr priv, byte[] buf, System.UInt32 count)
        {
            int nRead = base.MockIORead(priv, buf, count);

            if (nRead == count) // If read it all back
            {
                MockStoreUdbusTransport tempTransport = new MockStoreUdbusTransport();
                tempTransport.Stream = new System.IO.MemoryStream(buf);
                tempTransport.Stream.Seek(0, System.IO.SeekOrigin.Begin
                ManagedDbusIo dbus_io = new ManagedDbusIo();
                tempTransport.PopulateDbio(ref dbus_io);
                NMessageHandle.UdbusMessageHandle msg;
                UdbusMsgHandleFunctions.dbus_msg_recv(ref dbus_io, out msg);
                if (msg.HandleToStructure().reply_serial == this.lastSerial)
                {
                    UdbusMessageBuilder builder = new UdbusMessageBuilder();
                    // No can do since no accessors.
                    // Also, how would we then turn this back into binary format ??
                    builder.SetReplySerial(this.lastSerial);
                }

            } // Ends if read it all back

            return nRead;
        }
 public static int BodyAdd_PrimitiveDouble(UdbusMessageBuilder builder, Udbus.Containers.dbus_primitive value)
 {
     return(builder.BodyAdd_PrimitiveDouble(value));
 }
 public static int BodyAdd_VariantVariant(UdbusMessageBuilder builder, Udbus.Containers.dbus_union value)
 {
     return(builder.BodyAdd_VariantVariant(value));
 }
 public static int BodyAdd_PrimitiveDouble(UdbusMessageBuilder builder, Udbus.Containers.dbus_primitive value)
 {
     return builder.BodyAdd_PrimitiveDouble(value);
 }
 public static int BodyAdd_VariantVariant(UdbusMessageBuilder builder, Udbus.Containers.dbus_union value)
 {
     return builder.BodyAdd_VariantVariant(value);
 }