void OpenHome::TestFramework::Runner::Main(TInt /*aArgc*/, TChar* /*aArgv*/[], Net::InitialisationParams* aInitParams) { Debug::AddLevel(Debug::kAdapterChange); aInitParams->SetIncludeLoopbackNetworkAdapter(); UpnpLibrary::Initialise(aInitParams); std::vector<NetworkAdapter*>* subnetList = UpnpLibrary::CreateSubnetList(); ASSERT(subnetList->size() > 1); TIpAddress subnet = (*subnetList)[0]->Subnet(); UpnpLibrary::StartCombined(subnet); Semaphore* sem = new Semaphore("TEST", 0); DeviceBasic* dvDevice = new DeviceBasic(*gDvStack); CpDevices* cpDevice = new CpDevices(*gEnv, *sem, dvDevice->Udn()); LogSubnet("Starting", subnet); cpDevice->Start(); cpDevice->Test(); subnet = (*subnetList)[1]->Subnet(); LogSubnet("Switching", subnet); cpDevice->SetSubnet(subnet); cpDevice->Test(); subnet = (*subnetList)[0]->Subnet(); LogSubnet("Switching", subnet); cpDevice->SetSubnet(subnet); cpDevice->Test(); delete sem; delete cpDevice; delete dvDevice; UpnpLibrary::DestroySubnetList(subnetList); UpnpLibrary::Close(); }
void TestDvSubscription() { InitialisationParams& initParams = Stack::InitParams(); TUint oldMsearchTime = initParams.MsearchTimeSecs(); initParams.SetMsearchTime(1); Print("TestDvSubscription - starting\n"); Semaphore* sem = new Semaphore("SEM1", 0); DeviceBasic* device = new DeviceBasic; CpDevices* deviceList = new CpDevices(*sem, device->Udn()); FunctorCpDevice added = MakeFunctorCpDevice(*deviceList, &CpDevices::Added); FunctorCpDevice removed = MakeFunctorCpDevice(*deviceList, &CpDevices::Removed); Brn domainName("openhome.org"); Brn serviceType("TestBasic"); TUint ver = 1; CpDeviceListUpnpServiceType* list = new CpDeviceListUpnpServiceType(domainName, serviceType, ver, added, removed); sem->Wait(30*1000); // allow up to 30 seconds to issue the msearch and receive a response delete sem; deviceList->Test(); delete list; delete deviceList; delete device; Print("TestDvSubscription - completed\n"); initParams.SetMsearchTime(oldMsearchTime); }