public void AddInterfaceTest() { BusAttachment bus = new BusAttachment("addinterface", true, 4); bus.CreateInterfacesFromXml(signalIntf); bus.CreateInterfacesFromXml(methodIntf); bus.CreateInterfacesFromXml(propertyIntf); bus.CreateInterfacesFromXml(mixedIntf); bus.CreateInterfacesFromXml(emptyIntf); InterfaceDescription[] annIntf = new InterfaceDescription[1]; bus.CreateInterface("org.alljoyn.Annotated", annIntf, false); annIntf[0].AddMethod("method", "ss", "s", "in1,in2,out1", (byte)0, ""); annIntf[0].AddProperty("property", "s", (byte)PropAccessType.PROP_ACCESS_RW); annIntf[0].AddSignal("signal", "suy", "str,uint,byte", (byte)0, ""); annIntf[0].AddAnnotation("org.freedesktop.DBus.Deprecated", "false"); annIntf[0].AddMemberAnnotation("method", "org.freedesktop.DBus.Method.NoReply", "true"); annIntf[0].AddPropertyAnnotation("property", "org.freedesktop.DBus.Property.EmitsChangedSignal", "true"); annIntf[0].Activate(); BusObject busObj = new BusObject(bus, "/addinterfaces", false); busObj.AddInterface(bus.GetInterface("org.alljoyn.Signals")); busObj.AddInterface(bus.GetInterface("org.alljoyn.Methods")); busObj.AddInterface(bus.GetInterface("org.alljoyn.Properties")); busObj.AddInterface(bus.GetInterface("org.alljoyn.Empty")); busObj.AddInterface(bus.GetInterface("org.alljoyn.Annotated")); }
/// <summary> /// Run the default stress op which stresses the bus attachment /// </summary> private void RunDefault() { try { BusListener busListener = new BusListener(this.busAtt); this.busAtt.RegisterBusListener(busListener); BusObject busObject = new BusObject(this.busAtt, "/default", false); this.busAtt.RegisterBusObject(busObject); this.DebugPrint("Registered BusListener and BusObject"); uint flags = (uint)(RequestNameType.DBUS_NAME_REPLACE_EXISTING | RequestNameType.DBUS_NAME_DO_NOT_QUEUE); string randServiceName = null; lock (rand) { randServiceName = ServiceName + ".n" + rand.Next(10000000); } this.busAtt.RequestName(randServiceName, flags); this.busAtt.AdvertiseName(randServiceName, TransportMaskType.TRANSPORT_ANY); this.DebugPrint("Advertising WKN : " + randServiceName); this.busAtt.CancelAdvertiseName(randServiceName, TransportMaskType.TRANSPORT_ANY); this.busAtt.ReleaseName(randServiceName); this.busAtt.UnregisterBusListener(busListener); this.busAtt.UnregisterBusObject(busObject); this.DebugPrint("Successfully unraveled the default operation"); } catch (Exception ex) { var errMsg = AllJoynException.GetErrorMessage(ex.HResult); this.DebugPrint(">>>> Default Execution Error >>>> : " + errMsg); } }
private void OnEcho(BusObject busObject, InterfaceDescription.InterfaceDescriptionMember member, Message message) { string sig = message.Signature; Log.WriteLine($"Echo method called with argument: {ArgValueToString(message.GetArgument(0))}"); busObject.MethodReplyArgs(message, message.GetArgument(0), 1); //reply back with the same message; }
/// <summary> /// Initializes a new instance of the ChatSessionObject class. /// </summary> /// <param name="bus">The BusAttachment to be associated with.</param> /// <param name="path">The path for the BusObject.</param> /// <param name="host">The instance of the MainPage which handles the UI for this /// application.</param> public ChatSessionObject(BusAttachment bus, string path, MainPage host) { try { this.hostPage = host; this.busObject = new BusObject(bus, path, false); /* Add the interface to this object */ InterfaceDescription[] ifaceArr = new InterfaceDescription[1]; bus.CreateInterface(ChatServiceInterfaceName, ifaceArr, false); ifaceArr[0].AddSignal("Chat", "s", "str", 0, string.Empty); ifaceArr[0].Activate(); InterfaceDescription chatIfc = bus.GetInterface(ChatServiceInterfaceName); this.busObject.AddInterface(chatIfc); this.chatSignalReceiver = new MessageReceiver(bus); this.chatSignalReceiver.SignalHandler += new MessageReceiverSignalHandler(this.ChatSignalHandler); this.chatSignalMember = chatIfc.GetMember("Chat"); bus.RegisterSignalHandler(this.chatSignalReceiver, this.chatSignalMember, path); } catch (System.Exception ex) { QStatus errCode = AllJoyn.AllJoynException.GetErrorCode(ex.HResult); string errMsg = AllJoyn.AllJoynException.GetErrorMessage(ex.HResult); this.hostPage.DisplayStatus("Create ChatSessionObject Error : " + errMsg); } }
/// <summary> /// Initializes a new instance of the <see cref="SecureBusObject" /> class. /// </summary> /// <param name="busAtt">Object responsible for connecting to and optionally managing a /// message bus.</param> /// <param name="iface">The interface used by the service that is implemented by this /// class.</param> public SecureBusObject(BusAttachment busAtt, InterfaceDescription[] iface) { this.BusObject = new BusObject(busAtt, App.ServicePath, false); this.BusObject.AddInterface(iface[0]); InterfaceMember pingMember = iface[0].GetMember("Ping"); MessageReceiver pingReceiver = new MessageReceiver(busAtt); pingReceiver.MethodHandler += new MessageReceiverMethodHandler(this.PingMethodHandler); BusObject.AddMethodHandler(pingMember, pingReceiver); busAtt.RegisterBusObject(this.BusObject); }
private BusObject create_my_alljoyn_busobject(BusAttachment bus, string path) { var result = new BusObject(path, false); var iface = bus.GetInterface(INTERFACE_NAME); result.AddInterface(iface); result.SetAnnounceFlag(iface, true); var member = iface.GetMember("Echo"); result.AddMethodHandler(member, OnEcho); return(result); }
public AddMatchBusObj(BusAttachment bus) { this.busObj = new BusObject(bus, "/test", false); InterfaceDescription[] intf = new InterfaceDescription[1]; bus.CreateInterface("org.alljoyn.addmatchtest", intf, false); intf[0].AddSignal("testSig", "s", "str", (byte)0, ""); intf[0].Activate(); this.busObj.AddInterface(intf[0]); MessageReceiver receiver = new MessageReceiver(bus); receiver.SignalHandler += new MessageReceiverSignalHandler(this.SigHandle); bus.RegisterSignalHandler(receiver, intf[0].GetSignal("testSig"), ""); bus.RegisterBusObject(this.busObj); }
static T CreateFakeBusObject <T>(FakeTransport transport) { var typeImplementer = new TypeImplementer("test", false); var t = typeImplementer.GetImplementation(typeof(TestObj)); T instObj = (T)Activator.CreateInstance(t); BusObject inst = BusObject.GetBusObject(instObj); inst.conn = new Connection(transport); inst.bus_name = "something"; inst.object_path = new ObjectPath("DontCare"); return((T)instObj); }
public MethodHandlerBusObject(BusAttachment busAtt, string path) { this.busObject = new BusObject(busAtt, path, false); InterfaceDescription[] intf = new InterfaceDescription[1]; busAtt.CreateInterface("org.alljoyn.methodhandler", intf, false); intf[0].AddMethod("cat", "ss", "s", "in1,in2,out", (byte)0, ""); intf[0].AddMethod("sayhi", "s", "s", "in,out", (byte)0, ""); intf[0].Activate(); this.busObject.AddInterface(intf[0]); this.catMember = intf[0].GetMethod("cat"); this.sayHiMember = intf[0].GetMethod("sayhi"); MessageReceiver catReceiver = new MessageReceiver(busAtt); catReceiver.MethodHandler += new MessageReceiverMethodHandler(this.CatHandler); MessageReceiver sayHiReceiver = new MessageReceiver(busAtt); sayHiReceiver.MethodHandler += new MessageReceiverMethodHandler(this.SayHiHandler); try { busObject.AddMethodHandler(null, catReceiver); Assert.IsFalse(true); } catch (Exception ex) { Logger.LogMessage("%s", ex.Message); } try { busObject.AddMethodHandler(intf[0].GetMethod("cat"), null); Assert.IsFalse(true); } catch (Exception ex) { Logger.LogMessage("%s", ex.Message); } busObject.AddMethodHandler(intf[0].GetMethod("cat"), catReceiver); busObject.AddMethodHandler(intf[0].GetMethod("sayhi"), sayHiReceiver); busAtt.RegisterBusObject(this.busObject); }
public void WriteObject(Type type, object val) { ObjectPath path; BusObject bobj = val as BusObject; if (bobj == null && val is MarshalByRefObject) { bobj = ((MarshalByRefObject)val).GetLifetimeService() as BusObject; } if (bobj == null) { throw new Exception("No object reference to write"); } path = bobj.Path; Write(path); }
/// <summary> /// Initializes a new instance of the <see cref="ServiceBusObject"/> class. /// </summary> /// <param name="busAtt">Message bus for the stress operation using this</param> /// <param name="op">Stress operation using this bus object</param> public ServiceBusObject(BusAttachment busAtt, StressOperation op) { this.stressOp = op; this.busObject = new BusObject(busAtt, ServicePath, false); // Implement the 'cat' interface InterfaceDescription[] intfDescription = new InterfaceDescription[1]; busAtt.CreateInterface(InterfaceName, intfDescription, false); intfDescription[0].AddMethod("cat", "ss", "s", "inStr1,inStr2,outStr", (byte)0, string.Empty); intfDescription[0].Activate(); this.busObject.AddInterface(intfDescription[0]); // Register 'cat' method handler InterfaceMember catMethod = intfDescription[0].GetMethod("cat"); MessageReceiver catReceiver = new MessageReceiver(busAtt); catReceiver.MethodHandler += new MessageReceiverMethodHandler(this.Cat); this.busObject.AddMethodHandler(catMethod, catReceiver); busAtt.RegisterBusObject(this.busObject); }
/// <summary> /// Initializes a new instance of the <see cref="MyBusObject"/> class /// </summary> /// <param name="busAtt">Message bus for the sessions app</param> /// <param name="ops">Session Operations object for this application</param> public MyBusObject(BusAttachment busAtt, SessionOperations ops) { this.busObject = new BusObject(busAtt, BusObjectPath, false); this.sessionOps = ops; this.ChatEcho = true; // Implement the 'Chat' interface InterfaceDescription[] intfDescription = new InterfaceDescription[1]; busAtt.CreateInterface(SessionInterfaceName, intfDescription, false); intfDescription[0].AddSignal("Chat", "s", "str", (byte)0, string.Empty); intfDescription[0].Activate(); this.chatSignal = intfDescription[0].GetSignal("Chat"); this.busObject.AddInterface(intfDescription[0]); // Register chat signal handler MessageReceiver signalReceiver = new MessageReceiver(busAtt); signalReceiver.SignalHandler += new MessageReceiverSignalHandler(this.ChatSignalHandler); busAtt.RegisterSignalHandler(signalReceiver, this.chatSignal, string.Empty); busAtt.RegisterBusObject(this.busObject); }
public ServiceBusObject(BusAttachment busAtt, string path) { this.busObject = new BusObject(busAtt, path, false); InterfaceDescription[] intf = new InterfaceDescription[1]; busAtt.CreateInterface("org.alljoyn.SignalVariety", intf, false); intf[0].AddSignal("string", "s", "str", (byte)0, ""); intf[0].AddSignal("byte", "y", "byte", (byte)0, ""); intf[0].AddSignal("bool", "b", "bool", (byte)0, ""); intf[0].AddSignal("int16", "n", "int16", (byte)0, ""); intf[0].AddSignal("uint16", "q", "uint16", (byte)0, ""); intf[0].AddSignal("int32", "i", "int32", (byte)0, ""); intf[0].AddSignal("uint32", "u", "uint32", (byte)0, ""); intf[0].AddSignal("int64", "x", "int64", (byte)0, ""); intf[0].AddSignal("uint64", "t", "uint64", (byte)0, ""); intf[0].AddSignal("double", "d", "double", (byte)0, ""); intf[0].AddSignal("dArray", "ad", "dArray", (byte)0, ""); intf[0].AddSignal("byiStruct", "(byi)", "byiStruct", (byte)0, ""); intf[0].AddSignal("isDict", "{is}", "isDict", (byte)0, ""); intf[0].Activate(); this.busObject.AddInterface(intf[0]); busAtt.RegisterBusObject(this.busObject); }
void SetIPs() { if (State == DeviceState.Active) { if (BusObject.Get(BusName, "Dhcp4Config").ToString() != "/") { ConType = ConnectionType.Manaul; } else { ConType = ConnectionType.DHCP; } IP4Config = new DBusObject <IIP4Config> (NMBusName, BusObject.Get(BusName, "Ip4Config").ToString()); IP4Address = new IPAddress(long.Parse(BusObject.Get(BusName, "Ip4Address").ToString())); uint[][] Addresses = (uint[][])IP4Config.BusObject.Get(IP4Config.BusName, "Addresses"); Gateway = new IPAddress(Addresses[0][2]); SubnetMask = ConvertPrefixToIp((int)Addresses[0][1]); uint[] NameServers = (uint[])IP4Config.BusObject.Get(IP4Config.BusName, "Nameservers"); if (NameServers.Length > 0) { PrimaryDNS = new IPAddress(NameServers[0]); } else { PrimaryDNS = null; } } else { IP4Config = null; ConType = ConnectionType.Unknown; IP4Address = null; PrimaryDNS = null; Gateway = null; SubnetMask = null; } }
public void AddMatchTest() { BusAttachment bus = new BusAttachment("addmatch", true, 4); AddMatchBusObj busObj = new AddMatchBusObj(bus); BusListener bl = new BusListener(bus); bus.RegisterBusListener(bl); busObj.MatchValid = true; bus.Start(); bus.ConnectAsync(connectSpec).AsTask().Wait(); BusAttachment service = new BusAttachment("service", true, 4); BusObject busObj2 = new BusObject(service, "/serviceTest", false); InterfaceDescription[] intf = new InterfaceDescription[1]; service.CreateInterface("org.alljoyn.addmatchtest", intf, false); intf[0].AddSignal("testSig", "s", "str", (byte)0, ""); intf[0].Activate(); busObj2.AddInterface(intf[0]); service.RegisterBusObject(busObj2); service.Start(); service.ConnectAsync(connectSpec).AsTask().Wait(); service.RequestName("org.alljoyn.addmatch", (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE); service.BindSessionPort(43, new ushort[1], new SessionOpts(TrafficType.TRAFFIC_MESSAGES, false, ProximityType.PROXIMITY_ANY, TransportMaskType.TRANSPORT_ANY), new SessionPortListener(service)); service.AdvertiseName("org.alljoyn.addmatch", TransportMaskType.TRANSPORT_ANY); bl.FoundAdvertisedName += new BusListenerFoundAdvertisedNameHandler( (string name, TransportMaskType transport, string namePrefix) => { if (namePrefix == "org.alljoyn.addmatch") { foundService.Set(); } }); bus.FindAdvertisedName("org.alljoyn.addmatch"); foundService.WaitOne(); Task <JoinSessionResult> join = bus.JoinSessionAsync("org.alljoyn.addmatch", 43, new SessionListener(bus), new SessionOpts(TrafficType.TRAFFIC_MESSAGES, false, ProximityType.PROXIMITY_ANY, TransportMaskType.TRANSPORT_ANY), new SessionOpts[1], null).AsTask <JoinSessionResult>(); join.Wait(); Assert.IsTrue(QStatus.ER_OK != join.Result.Status); bus.AddMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); for (int i = 0; i < 5; i++) { calledHandle.Reset(); MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); calledHandle.WaitOne(); } bus.RemoveMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); busObj.MatchValid = false; for (int i = 0; i < 10; i++) { MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); } bus.AddMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); busObj.MatchValid = true; for (int i = 0; i < 5; i++) { calledHandle.Reset(); MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); calledHandle.WaitOne(); } }
public QStatus RegisterBusObject(BusObject obj) { return alljoyn_busattachment_registerbusobject(_busAttachment, obj.UnmanagedPtr); }
public void UnregisterBusObject(BusObject obj) { alljoyn_busattachment_unregisterbusobject(_busAttachment, obj.UnmanagedPtr); }
public QStatus RegisterBusObject(BusObject obj) { return(alljoyn_busattachment_registerbusobject(_busAttachment, obj.UnmanagedPtr)); }
public void AddMatchTest() { BusAttachment bus = new BusAttachment("addmatch", true, 4); AddMatchBusObj busObj = new AddMatchBusObj(bus); BusListener bl = new BusListener(bus); bus.RegisterBusListener(bl); busObj.MatchValid = true; bus.Start(); bus.ConnectAsync(connectSpec).AsTask().Wait(); BusAttachment service = new BusAttachment("service", true, 4); BusObject busObj2 = new BusObject(service, "/serviceTest", false); InterfaceDescription[] intf = new InterfaceDescription[1]; service.CreateInterface("org.alljoyn.addmatchtest", intf, false); intf[0].AddSignal("testSig", "s", "str", (byte)0, ""); intf[0].Activate(); busObj2.AddInterface(intf[0]); service.RegisterBusObject(busObj2); service.Start(); service.ConnectAsync(connectSpec).AsTask().Wait(); service.RequestName("org.alljoyn.addmatch", (byte)RequestNameType.DBUS_NAME_DO_NOT_QUEUE); service.BindSessionPort(43, new ushort[1], new SessionOpts(TrafficType.TRAFFIC_MESSAGES, false, ProximityType.PROXIMITY_ANY, TransportMaskType.TRANSPORT_ANY), new SessionPortListener(service)); service.AdvertiseName("org.alljoyn.addmatch", TransportMaskType.TRANSPORT_ANY); bl.FoundAdvertisedName += new BusListenerFoundAdvertisedNameHandler( (string name, TransportMaskType transport, string namePrefix) => { if (namePrefix == "org.alljoyn.addmatch") { foundService.Set(); } }); bus.FindAdvertisedName("org.alljoyn.addmatch"); foundService.WaitOne(); Task<JoinSessionResult> join = bus.JoinSessionAsync("org.alljoyn.addmatch", 43, new SessionListener(bus), new SessionOpts(TrafficType.TRAFFIC_MESSAGES, false, ProximityType.PROXIMITY_ANY, TransportMaskType.TRANSPORT_ANY), new SessionOpts[1], null).AsTask<JoinSessionResult>(); join.Wait(); Assert.IsTrue(QStatus.ER_OK != join.Result.Status); bus.AddMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); for (int i = 0; i < 5; i++) { calledHandle.Reset(); MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); calledHandle.WaitOne(); } bus.RemoveMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); busObj.MatchValid = false; for (int i = 0; i < 10; i++) { MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); } bus.AddMatch("type='signal',interface='org.alljoyn.addmatchtest',member='testSig'"); busObj.MatchValid = true; for (int i = 0; i < 5; i++) { calledHandle.Reset(); MsgArg sigArg1 = new MsgArg("s", new object[] { "hello" + i }); busObj2.Signal("", 0, intf[0].GetSignal("testSig"), new MsgArg[] { sigArg1 }, 0, (byte)AllJoynFlagType.ALLJOYN_FLAG_GLOBAL_BROADCAST); calledHandle.WaitOne(); } }
/** * Register a BusObject * * @param obj BusObject to register. * @param secure If true objects registered will require authentication * unless the interfaces security policy is 'Off' * * @return * - QStatus.OK if successful. * - QStatus.BUS_BAD_OBJ_PATH for a bad object path */ public QStatus RegisterBusObject(BusObject obj, bool secure) { if (secure) { return alljoyn_busattachment_registerbusobject_secure(_busAttachment, obj.UnmanagedPtr); } else { return alljoyn_busattachment_registerbusobject(_busAttachment, obj.UnmanagedPtr); } }
private async Task StartService() { serviceBus = new BusAttachment("About Service Example", true); serviceBus.Start(); serviceBus.Connect(); Log.WriteLine($"BusAttachment connect succeeded. BusName {serviceBus.UniqueName}"); Session sessionOpts = new Session(TrafficType.Messages, false, Proximity.Any, Transport.Any); sessionPortListener = new SessionPortListener(); sessionPortListener.AcceptSessionJoiner += SessionPortListener_AcceptSessionJoiner; sessionPortListener.SessionJoined += SessionPortListener_SessionJoined; var sessionPort = ASSIGNED_SESSION_PORT; serviceBus.BindSessionPort(sessionPort, sessionOpts, sessionPortListener); var aboutData = new AboutData("en"); byte[] appId = { 0x01, 0xB3, 0xBA, 0x14, 0x1E, 0x82, 0x11, 0xE4, 0x86, 0x51, 0xD1, 0x56, 0x1D, 0x5D, 0x46, 0xB0 }; aboutData.AppId = appId; aboutData.SetDeviceName("My Device Name", "en"); aboutData.DeviceId = "93c06771-c725-48c2-b1ff-6a2a59d445b8"; aboutData.SetAppName("Application", "en"); aboutData.SetManufacturer("Manufacturer2", "en"); aboutData.ModelNumber = "123456"; aboutData.SetDescription("A poetic description of this application", "en"); aboutData.DateOfManufacture = "2014-03-24"; aboutData.SoftwareVersion = "0.1.2"; aboutData.HardwareVersion = "0.0.1"; aboutData.SupportUrl = "http://www.example.org"; /* * The default language is automatically added to the `SupportedLanguages` * Users don't have to specify the AJSoftwareVersion its automatically added * to the AboutData/ * Adding Spanish Localization values to the AboutData. All strings MUST be * UTF-8 encoded. */ aboutData.SetDeviceName("Mi dispositivo Nombre", "es"); aboutData.SetAppName("aplicación", "es"); aboutData.SetManufacturer("fabricante", "es"); aboutData.SetDescription("Una descripción poética de esta aplicación", "es"); if (!aboutData.IsValid("en")) { Log.WriteLine("failed to setup about data."); } string xmlInterface = "<node>\n" + $"<interface name='{INTERFACE_NAME}'>\n" + " <method name='Echo'>\n" + " <arg name='out_arg' type='s' direction='in' />\n" + " <arg name='return_arg' type='s' direction='out' />\n" + " </method>\n" + "</interface>\n" + "</node>"; Log.WriteLine(xmlInterface); serviceBus.CreateInterfacesFromXml(xmlInterface); busObject = create_my_alljoyn_busobject(serviceBus, "/example/path"); serviceBus.RegisterBusObject(busObject); var aboutObj = new AboutObj(serviceBus, false); aboutObj.Announce(sessionPort, aboutData); Log.WriteLine("AboutObj Announce Succeeded."); Log.WriteLine("*********************************************************************************"); Log.WriteLine("*********************************************************************************"); while (!cancelSource.IsCancellationRequested) { await Task.Delay(10); } }
public SignalBusObject(BusAttachment busAtt, string path) { this.busObject = new BusObject(busAtt, path, false); InterfaceDescription[] intf = new InterfaceDescription[1]; busAtt.CreateInterface("org.alljoyn.SignalVariety", intf, false); intf[0].AddSignal("string", "s", "str", (byte)0, ""); intf[0].AddSignal("byte", "y", "byte", (byte)0, ""); intf[0].AddSignal("bool", "b", "bool", (byte)0, ""); intf[0].AddSignal("int16", "n", "int16", (byte)0, ""); intf[0].AddSignal("uint16", "q", "uint16", (byte)0, ""); intf[0].AddSignal("int32", "i", "int32", (byte)0, ""); intf[0].AddSignal("uint32", "u", "uint32", (byte)0, ""); intf[0].AddSignal("int64", "x", "int64", (byte)0, ""); intf[0].AddSignal("uint64", "t", "uint64", (byte)0, ""); intf[0].AddSignal("double", "d", "double", (byte)0, ""); intf[0].AddSignal("dArray", "ad", "dArray", (byte)0, ""); intf[0].AddSignal("byiStruct", "(byi)", "byiStruct", (byte)0, ""); intf[0].AddSignal("isDict", "{is}", "isDict", (byte)0, ""); intf[0].Activate(); this.busObject.AddInterface(intf[0]); MessageReceiver msgReceiver1 = new MessageReceiver(busAtt); msgReceiver1.SignalHandler += new MessageReceiverSignalHandler(this.StringSig); busAtt.RegisterSignalHandler(msgReceiver1, intf[0].GetSignal("string"), ""); MessageReceiver msgReceiver2 = new MessageReceiver(busAtt); msgReceiver2.SignalHandler += new MessageReceiverSignalHandler(this.ByteSig); busAtt.RegisterSignalHandler(msgReceiver2, intf[0].GetSignal("byte"), ""); MessageReceiver msgReceiver3 = new MessageReceiver(busAtt); msgReceiver3.SignalHandler += new MessageReceiverSignalHandler(this.BoolSig); busAtt.RegisterSignalHandler(msgReceiver3, intf[0].GetSignal("bool"), ""); MessageReceiver msgReceiver4 = new MessageReceiver(busAtt); msgReceiver4.SignalHandler += new MessageReceiverSignalHandler(this.Int16Sig); busAtt.RegisterSignalHandler(msgReceiver4, intf[0].GetSignal("int16"), ""); MessageReceiver msgReceiver5 = new MessageReceiver(busAtt); msgReceiver5.SignalHandler += new MessageReceiverSignalHandler(this.Uint16Sig); busAtt.RegisterSignalHandler(msgReceiver5, intf[0].GetSignal("uint16"), ""); MessageReceiver msgReceiver6 = new MessageReceiver(busAtt); msgReceiver6.SignalHandler += new MessageReceiverSignalHandler(this.Int32Sig); busAtt.RegisterSignalHandler(msgReceiver6, intf[0].GetSignal("int32"), ""); MessageReceiver msgReceiver7 = new MessageReceiver(busAtt); msgReceiver7.SignalHandler += new MessageReceiverSignalHandler(this.Uint32Sig); busAtt.RegisterSignalHandler(msgReceiver7, intf[0].GetSignal("uint32"), ""); MessageReceiver msgReceiver8 = new MessageReceiver(busAtt); msgReceiver8.SignalHandler += new MessageReceiverSignalHandler(this.Int64Sig); busAtt.RegisterSignalHandler(msgReceiver8, intf[0].GetSignal("int64"), ""); MessageReceiver msgReceiver9 = new MessageReceiver(busAtt); msgReceiver9.SignalHandler += new MessageReceiverSignalHandler(this.Uint64Sig); busAtt.RegisterSignalHandler(msgReceiver9, intf[0].GetSignal("uint64"), ""); MessageReceiver msgReceiver10 = new MessageReceiver(busAtt); msgReceiver10.SignalHandler += new MessageReceiverSignalHandler(this.DoubleSig); busAtt.RegisterSignalHandler(msgReceiver10, intf[0].GetSignal("double"), ""); MessageReceiver msgReceiver11 = new MessageReceiver(busAtt); msgReceiver11.SignalHandler += new MessageReceiverSignalHandler(this.DArrarySig); busAtt.RegisterSignalHandler(msgReceiver11, intf[0].GetSignal("dArray"), ""); MessageReceiver msgReceiver12 = new MessageReceiver(busAtt); msgReceiver12.SignalHandler += new MessageReceiverSignalHandler(this.BYIStructSig); busAtt.RegisterSignalHandler(msgReceiver12, intf[0].GetSignal("byiStruct"), ""); MessageReceiver msgReceiver13 = new MessageReceiver(busAtt); msgReceiver13.SignalHandler += new MessageReceiverSignalHandler(this.ISDictSig); busAtt.RegisterSignalHandler(msgReceiver13, intf[0].GetSignal("isDict"), ""); busAtt.RegisterBusObject(this.busObject); }