예제 #1
0
        public Runner()
        {
            Console.Write("TestDvDeviceCs - starting\n");

            DeviceBasic device = new DeviceBasic();
            iDeviceList = new List<CpDevice>();
            CpDeviceList.ChangeHandler added = new CpDeviceList.ChangeHandler(DeviceAdded);
            CpDeviceList.ChangeHandler removed = new CpDeviceList.ChangeHandler(DeviceRemoved);
            CpDeviceListUpnpServiceType list = new CpDeviceListUpnpServiceType("openhome.org", "TestBasic", 1, added, removed);
            Semaphore sem = new Semaphore(0, 1);
            sem.WaitOne(1000);
            Debug.Assert(iDeviceList.Count == 1);
            TestBasicCp cp = new TestBasicCp(iDeviceList[0]);
            cp.TestActions();
            cp.TestSubscriptions();
            list.Dispose();
            lock (this)
            {
                for (int i = 0; i < iDeviceList.Count; i++)
                {
                    iDeviceList[i].RemoveRef();
                }
            }
            device.Dispose();

            Console.Write("TestDvDeviceCs - completed\n");
        }
예제 #2
0
        public Runner(int aMsearchTimeSecs)
        {
            iListFrozen = false;
            iDeviceList = new List <ControlPoint.ICpDevice>();
            ControlPoint.CpDeviceList.ChangeHandler  added   = new ControlPoint.CpDeviceList.ChangeHandler(DeviceAdded);
            ControlPoint.CpDeviceList.ChangeHandler  removed = new ControlPoint.CpDeviceList.ChangeHandler(DeviceRemoved);
            ControlPoint.CpDeviceListUpnpServiceType list    = new ControlPoint.CpDeviceListUpnpServiceType("upnp.org", "ConnectionManager", 1, added, removed);
            //CpDeviceListUpnpUuid list = new CpDeviceListUpnpUuid("896659847466-a4badbeaacbc-737837", added, removed);

            Semaphore sem = new Semaphore(0, 1);

            sem.WaitOne(aMsearchTimeSecs * 1000);
            iListFrozen = true;

            InvokeSync();
            // Note that following tests handle the device list changing (i.e. devices being switched on/off) badly

            Console.Write("\n\n");
            int      count     = iDeviceList.Count;
            DateTime startTime = DateTime.Now;

            PollInvoke();
            DateTime endTime    = DateTime.Now;
            uint     avgActions = 0;

            if (count > 0)
            {
                avgActions = (uint)(iActionCount / count);
            }
            double secs = endTime.Subtract(startTime).TotalSeconds;

            Console.Write("\n" + iActionCount + " actions invoked on " + count + " devices (avg " + avgActions + ") in " + secs + " seconds\n\n");

            Console.Write("\n\n");
            startTime = DateTime.Now;
            PollSubscribe();
            endTime = DateTime.Now;
            uint avgSubscriptions = 0;

            if (count > 0)
            {
                avgSubscriptions = (uint)(iSubscriptionCount / count);
            }
            secs = endTime.Subtract(startTime).TotalSeconds;
            Console.Write("\n" + iSubscriptionCount + " subscriptions on " + count + " devices (avg " + avgSubscriptions + ") in " + secs + " seconds\n\n");

            list.Dispose();
            lock (this)
            {
                for (int i = 0; i < iDeviceList.Count; i++)
                {
                    iDeviceList[i].RemoveRef();
                }
            }
            Console.Write("Tests completed\n");
        }
예제 #3
0
파일: TestProxy.cs 프로젝트: sewood/ohNet
        public Runner(int aMsearchTimeSecs)
        {
            iListFrozen = false;
            iDeviceList = new List<ControlPoint.CpDevice>();
            ControlPoint.CpDeviceList.ChangeHandler added = new ControlPoint.CpDeviceList.ChangeHandler(DeviceAdded);
            ControlPoint.CpDeviceList.ChangeHandler removed = new ControlPoint.CpDeviceList.ChangeHandler(DeviceRemoved);
            ControlPoint.CpDeviceListUpnpServiceType list = new ControlPoint.CpDeviceListUpnpServiceType("upnp.org", "ConnectionManager", 1, added, removed);
            //CpDeviceListUpnpUuid list = new CpDeviceListUpnpUuid("896659847466-a4badbeaacbc-737837", added, removed);
            Semaphore sem = new Semaphore(0, 1);
            sem.WaitOne(aMsearchTimeSecs * 1000);
            iListFrozen = true;
            
            InvokeSync();
            // Note that following tests handle the device list changing (i.e. devices being switched on/off) badly

            Console.Write("\n\n");
            int count = iDeviceList.Count;
            DateTime startTime = DateTime.Now;
            PollInvoke();
            DateTime endTime = DateTime.Now;
            uint avgActions = 0;
            if (count > 0)
            {
                avgActions = (uint)(iActionCount / count);
            }
            double secs = endTime.Subtract(startTime).TotalSeconds;
            Console.Write("\n" + iActionCount + " actions invoked on " + count + " devices (avg " + avgActions + ") in " + secs + " seconds\n\n");

            Console.Write("\n\n");
            startTime = DateTime.Now;
            PollSubscribe();
            endTime = DateTime.Now;
            uint avgSubscriptions = 0;
            if (count > 0)
            {
                avgSubscriptions = (uint)(iSubscriptionCount / count);
            }
            secs = endTime.Subtract(startTime).TotalSeconds;
            Console.Write("\n" + iSubscriptionCount + " subscriptions on " + count + " devices (avg " + avgSubscriptions + ") in " + secs + " seconds\n\n");

            list.Dispose();
            lock (this)
            {
                for (int i = 0; i < iDeviceList.Count; i++)
                {
                    iDeviceList[i].RemoveRef();
                }
            }
            Console.Write("Tests completed\n");
        }
예제 #4
0
 public override void findMediaServer()
 {
     OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler added = new OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler(MediaServerFoundSink);
         OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler removed = new OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler(MediaServerRemovedSink);
         OpenHome.Net.ControlPoint.CpDeviceListUpnpServiceType list = new OpenHome.Net.ControlPoint.CpDeviceListUpnpServiceType("upnp.org", "ContentDirectory", 1, added, removed);
 }
예제 #5
0
 public override void findMediaRenderer()
 {
     OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler added = new OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler(RendererFoundSink);
         OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler removed = new OpenHome.Net.ControlPoint.CpDeviceList.ChangeHandler(RendererRemovedSink);
         OpenHome.Net.ControlPoint.CpDeviceListUpnpServiceType list = new OpenHome.Net.ControlPoint.CpDeviceListUpnpServiceType("upnp.org", "RenderingControl", 1, added, removed);
 }