public ServiceBaseConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector) : this(connection, connector, null, null) { //this.Connection = connection; //this.Connector = connector; }
private ServiceConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, string name, ConstructorPoolArgs poolArgs, Udbus.Core.IUdbusSerialNumberManager serialManager) : this(connection, connector, name, poolArgs.signalVisitor, poolArgs.signalVisitor, poolArgs.receiverPool, serialManager) { }
private ServiceBaseConnectionParams(Udbus.Serialization.IUdbusTransport connection , Udbus.Serialization.UdbusConnector connector , Udbus.Serialization.IUdbusTransport signalConnection ) : this(connection, connector , signalConnection, InitializeSignalConnector(connection, connector, signalConnection)) { }
public ServiceBaseConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, Udbus.Serialization.IUdbusTransport signalConnection, Udbus.Serialization.UdbusConnector signalConnector) { this.Connection = connection; this.Connector = connector; this.signalConnection = signalConnection; this.signalConnector = signalConnector; }
public VisitorThreadInfo(Udbus.Serialization.UdbusConnector connector, Udbus.Core.IUdbusMessageVisitor visitor, Udbus.Core.DbusMessageReceiverPool pool, System.Threading.EventWaitHandle stop, System.IO.TextWriter output) { this.connector = connector; this.visitor = visitor; this.pool = pool; this.stop = stop; this.output = output; }
public ServiceConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, string name, Udbus.Serialization.IUdbusTransport signalConnection, Udbus.Core.IRegisterSignalHandlers registerSignalHandlers, Udbus.Core.IStoppableUdbusMessageVisitor signalVisitor, Udbus.Core.DbusMessageReceiverPool receiverPool, Udbus.Core.IUdbusSerialNumberManager serialManager) : this(connection, new ConstructorConnectorArgs(connector, name) , signalConnection, registerSignalHandlers, signalVisitor, receiverPool, serialManager) { }
static private ConstructorConnectorArgs InitializeConnectorFromConnection(Udbus.Serialization.IUdbusTransport connection , Udbus.Core.IUdbusSerialNumberManager serialManager , Udbus.Core.DbusMessageReceiverPool receiverPool) { // We're going to throw away the name. string name; Udbus.Serialization.UdbusConnector createConnector = Udbus.Serialization.UdbusConnector.CreateHelloed(connection, serialManager.GetNext(), out name, MakeHelloRecvDelegate(receiverPool) ); //Udbus.Serialization.UdbusConnector createConnector = Udbus.Serialization.UdbusConnector.CreateHelloed(out name, connection, serialManager, receiverPool); return(new ConstructorConnectorArgs(createConnector, name)); }
static private Udbus.Serialization.UdbusConnector InitializeSignalConnector(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, Udbus.Serialization.IUdbusTransport connectionSignal) { Udbus.Serialization.UdbusConnector connectorSignal; if (object.ReferenceEquals(connection, connectionSignal)) { connectorSignal = connector; } else { connectorSignal = InitializeConnectorFromConnection(connectionSignal); } return(connectorSignal); }
public ServiceConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, string name, Udbus.Core.IRegisterSignalHandlers registerSignalHandlers, Udbus.Core.IStoppableUdbusMessageVisitor signalVisitor, Udbus.Core.DbusMessageReceiverPool receiverPool, Udbus.Core.IUdbusSerialNumberManager serialManager) : base(connection, connector) { this.Name = name; this.SignalName = this.Name; this.RegisterSignalHandlers = registerSignalHandlers; this.SignalVisitor = signalVisitor; this.ReceiverPool = receiverPool; this.SerialManager = serialManager; }
public static void LoopUdbus(Udbus.Serialization.UdbusConnector connector, IUdbusMessageVisitor visitor, System.IO.TextWriter output, System.Threading.WaitHandle stop) { output.WriteLine("Looping..."); int r = 0; while (r == 0 && stop.WaitOne(0) == false) { using (var msg = connector.ReceiveHandle(out r)) { Visit(r, msg, visitor); } // Ends using received message } // Ends loop while getting results and not told to stop visitor.Reset(); output.WriteLine("Finished looping..."); }
static void TestReadWriteVariantStruct() { using (Udbus.Core.MockStoreUdbusTransport transport = new Udbus.Core.MockStoreUdbusTransport()) { //Udbus.Serialization.UdbusConnector connector = Udbus.Serialization.UdbusConnector.CreateAuthorised(transport); Udbus.Serialization.UdbusConnector connector = new Udbus.Serialization.UdbusConnector(transport); Udbus.Serialization.UdbusMessageBuilderTracker builder = new Udbus.Serialization.UdbusMessageBuilderTracker(); Udbus.Core.IUdbusMessageVisitor visitor = new Udbus.Core.UdbusMessageVisitorDumpXen(); Udbus.Core.IUdbusMessageVisitor visitorTrack = new Udbus.Core.UdbusMessageVisitorFind(builder); Udbus.Core.IUdbusMessageVisitor visitors = new Udbus.Core.UdbusMessageVisitorMulti(visitor, visitorTrack); int result; using (var msg = builder.UdbusMethodMessage( "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "VariantStructMessage").Message) { Udbus.Types.dbus_sig signature = Udbus.Types.dbus_sig.Initialiser; signature.a[0] = Udbus.Types.dbus_type.DBUS_SIGNATURE; signature.a[1] = Udbus.Types.dbus_type.DBUS_INVALID; // As it happens these struct fields will double as dictionary entries... object[] structFields = new object[] { 1, new object[] {"one", true } }; Udbus.Containers.dbus_union variantStruct = Udbus.Containers.dbus_union.CreateStruct(structFields, new Udbus.Types.dbus_type[] { Udbus.Types.dbus_type.DBUS_STRUCT_BEGIN, Udbus.Types.dbus_type.DBUS_INT32, Udbus.Types.dbus_type.DBUS_STRUCT_BEGIN, Udbus.Types.dbus_type.DBUS_STRING, Udbus.Types.dbus_type.DBUS_BOOLEAN, Udbus.Types.dbus_type.DBUS_STRUCT_END, Udbus.Types.dbus_type.DBUS_STRUCT_END, Udbus.Types.dbus_type.DBUS_INVALID } ); builder.SetSignature(ref signature) .BodyAdd(4096); builder .BodyAdd_Variant(variantStruct) ; result = connector.Send(msg); Console.WriteLine("VariantStructMessage send result: {0}", result); } using (var msg = connector.ReceiveHandle(out result)) { Console.WriteLine("VariantStructMessage recv result: {0}. msg: {1}", result, msg); if (result == 0) // If got message ok { Udbus.Core.UdbusMessagePair messageData = new Udbus.Core.UdbusMessagePair(msg); Udbus.Serialization.UdbusMessageReader reader = new Udbus.Serialization.UdbusMessageReader(msg); Udbus.Core.UdbusVisitorFunctions.Visit(result, msg, visitor); Udbus.Containers.dbus_union variantReadStruct = reader.ReadVariant(); Console.WriteLine(string.Format("variantReadStruct: {0}", variantReadStruct.ToString())); } // Ends if message ok } // Ends using receive message } // Ends using transport }
static void TestReadWriteString() { using (Udbus.Core.MockStoreUdbusTransport transport = new Udbus.Core.MockStoreUdbusTransport()) { //Udbus.Serialization.UdbusConnector connector = Udbus.Serialization.UdbusConnector.CreateAuthorised(transport); Udbus.Serialization.UdbusConnector connector = new Udbus.Serialization.UdbusConnector(transport); Udbus.Serialization.UdbusMessageBuilderTracker builder = new Udbus.Serialization.UdbusMessageBuilderTracker(); Udbus.Core.IUdbusMessageVisitor visitor = new Udbus.Core.UdbusMessageVisitorDumpXen(); Udbus.Core.IUdbusMessageVisitor visitorTrack = new Udbus.Core.UdbusMessageVisitorFind(builder); Udbus.Core.IUdbusMessageVisitor visitors = new Udbus.Core.UdbusMessageVisitorMulti(visitor, visitorTrack); int result; using (var msg = builder.UdbusMethodMessage( "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus", "NotARealMessage").Message) { Udbus.Types.dbus_sig signature = Udbus.Types.dbus_sig.Initialiser; signature.a[0] = Udbus.Types.dbus_type.DBUS_STRING; signature.a[1] = Udbus.Types.dbus_type.DBUS_INVALID; builder.SetSignature(ref signature) .BodyAdd(4096) .BodyAdd_String("param1") ; result = connector.Send(msg); Console.WriteLine("NotARealMessagesend result: {0}", result); } using (var msg = connector.ReceiveHandle(out result)) { Console.WriteLine("NotARealMessage recv result: {0}. msg: {1}", result, msg); if (result == 0) // If got message ok { Udbus.Core.UdbusMessagePair messageData = new Udbus.Core.UdbusMessagePair(msg); Udbus.Serialization.UdbusMessageReader reader = new Udbus.Serialization.UdbusMessageReader(msg); Udbus.Core.UdbusVisitorFunctions.Visit(result, msg, visitor); //Udbus.Core.UdbusVisitorFunctions.Visit(result, msg, visitor); string param1 = reader.ReadString(); Console.WriteLine(string.Format("Param1: {0}", param1)); } // Ends if message ok } // Ends using receive message } // Ends using transport }
// WAXME public ServiceBase(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector) : this(new ServiceBaseConnectionParams(connection, connector)) { }
public ServiceConnectionParams(Udbus.Serialization.IUdbusTransport connection, Udbus.Serialization.UdbusConnector connector, string name) : this(connection, connector, name, DefaultPoolArgs(), DefaultSerialManager()) { }
internal ConstructorConnectorArgs(Udbus.Serialization.UdbusConnector connector, string name) { this.connector = connector; this.name = name; }