Esempio n. 1
0
        static void Main(string[] args)
        {
            /*
             * Make sure this path contains the umundoNativeCSharp.dll!
             */
            SetDllDirectory("C:\\Program Files\\uMundo\\lib");
            org.umundo.core.Node node = new org.umundo.core.Node();
            TypedPublisher       pub  = new TypedPublisher("s11ndemo");

            node.addPublisher(pub);
            TestTypedReceiver ttr = new TestTypedReceiver();
            TypedSubscriber   sub = new TypedSubscriber("s11ndemo", ttr);

            node.addSubscriber(sub);
            // Currently not working in C#
            //Console.WriteLine("Waiting for subsrcibers...");
            //int subs = pub.waitForSubscribers(2);
            //Console.WriteLine(subs + " subscribers");
            AMessage msg = new AMessage();

            msg.a = 42;
            msg.b = 43;
            sub.RegisterType(msg.GetType().Name, msg.GetType());
            while (true)
            {
                Console.WriteLine("s: " + msg.a + ", " + msg.b);
                pub.SendObject(msg);
                System.Threading.Thread.Sleep(1000);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            if (System.Environment.Is64BitProcess)
            {
                SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp64");
            }
            else
            {
                SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp");
            }

            while (true)
            {
                Node            node1 = new Node();
                TypedPublisher  pub1  = new TypedPublisher("s11nStress");
                TypedSubscriber sub1  = new TypedSubscriber("s11nStress", new StressReceiver());

                pub1.setGreeter(new StressGreeter());

                Test.AllTypes protoTypeAll = new Test.AllTypes();
                sub1.RegisterType(protoTypeAll.GetType().Name, protoTypeAll.GetType());

                node1.addPublisher(pub1);
                node1.addSubscriber(sub1);

                Discovery disc = new Discovery(Discovery.DiscoveryType.MDNS);
                disc.add(node1);

                int i = 500;

                while (i-- > 0)
                {
                    Console.Write("o");
                    Test.AllTypes tstAll = new Test.AllTypes();
                    tstAll.boolType   = true;
                    tstAll.doubleType = 1.23456;

                    pub1.SendObject(tstAll);
                    System.Threading.Thread.Sleep(5);
                }

                node1.removePublisher(pub1);
                node1.removeSubscriber(sub1);
                disc.remove(node1);
                System.GC.Collect();
            }
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            /*
             * Make sure this path contains the umundoNativeCSharp.dll!
             */
            if (System.Environment.Is64BitProcess)
            {
                SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp64");
            }
            else
            {
                SetDllDirectory("C:\\Program Files (x86)\\uMundo\\share\\umundo\\bindings\\csharp");
            }

            org.umundo.core.Node node = new org.umundo.core.Node();

            org.umundo.core.Discovery disc = new org.umundo.core.Discovery(Discovery.DiscoveryType.MDNS);
            disc.add(node);

            TypedPublisher pub = new TypedPublisher("s11ndemo");

            node.addPublisher(pub);

            TestTypedReceiver ttr = new TestTypedReceiver();
            TypedSubscriber   sub = new TypedSubscriber("s11ndemo", ttr);

            node.addSubscriber(sub);

            Console.WriteLine("Waiting for subscribers...");
            int subs = pub.waitForSubscribers(1);

            Console.WriteLine(subs + " subscribers");

            AMessage msg = new AMessage();

            msg.a = 42;
            msg.b = 43;
            sub.RegisterType(msg.GetType().Name, msg.GetType());
            while (true)
            {
                Console.WriteLine("s: " + msg.a + ", " + msg.b);
                pub.SendObject(msg);
                System.Threading.Thread.Sleep(1000);
            }
        }
Esempio n. 4
0
        static void Main()
        {
            string projectPath = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;

            string dllPath = projectPath + "\\dlls";

            if (System.Environment.Is64BitProcess)
            {
                SetDllDirectory(dllPath + "\\csharp64");
            }
            else
            {
                SetDllDirectory(dllPath + "\\csharp");
            }

            calendarNode = new Node();
            calendarRcv  = new CalendarReceiver();
            calendarSub  = new TypedSubscriber("s11nCalendar");
            calendarSub.setReceiver(calendarRcv);
            calendarPub = new TypedPublisher("s11nCalendar");

            DistCalendarEvent eventObj = new DistCalendarEvent();

            calendarSub.RegisterType(eventObj.GetType().Name, eventObj.GetType());

            calendarNode.addPublisher(calendarPub);
            calendarNode.addSubscriber(calendarSub);

            disc = new Discovery(Discovery.DiscoveryType.MDNS);
            disc.add(calendarNode);

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new frmCalendarMain());

            calendarNode.removePublisher(calendarPub);
            calendarNode.removeSubscriber(calendarSub);
            disc.remove(calendarNode);
            System.GC.Collect();
        }