DvStack::DvStack(OpenHome::Environment& aEnv) : iEnv(aEnv) , iBootId(1) , iNextBootId(2) , iMdns(NULL) { iEnv.SetDvStack(this); iSsdpNotifierManager = new DviSsdpNotifierManager(*this); iPropertyUpdateCollection = new DviPropertyUpdateCollection(*this); InitialisationParams* initParams = iEnv.InitParams(); TUint port = initParams->DvUpnpServerPort(); iDviDeviceMap = new DviDeviceMap; iDviServerUpnp = new DviServerUpnp(*this, port); iSubscriptionManager = new DviSubscriptionManager(*this); iDviServerWebSocket = new DviServerWebSocket(*this); const TChar* hostName = NULL; if (initParams->DvIsBonjourEnabled(hostName)) { #ifndef DEFINE_WINDOWS_UNIVERSAL iMdns = new OpenHome::Net::MdnsProvider(iEnv, hostName); #endif } if (initParams->DvNumLpecThreads() == 0) { iLpecServer = NULL; } else { port = initParams->DvLpecServerPort(); iLpecServer = new DviServerLpec(*this, port); } }
static void threadMain ( void* aData ) { InitialisationParams* initParams = InitialisationParams::Create(); Logger logger; FunctorMsg functor = MakeFunctorMsg(logger, &Logger::Log); initParams->SetLogOutput(functor); Runner::Main(0, NULL, initParams); }
void TestDviDiscovery(DvStack& aDvStack) { InitialisationParams* initParams = aDvStack.Env().InitParams(); TUint oldMsearchTime = initParams->MsearchTimeSecs(); initParams->SetMsearchTime(3); // higher time to give valgrind tests a hope of completing //Debug::SetLevel(Debug::kNetwork); Runner runner("SSDP discovery\n"); runner.Add(new SuiteAlive(aDvStack)); runner.Add(new SuiteMsearch(aDvStack)); runner.Run(); initParams->SetMsearchTime(oldMsearchTime); }
void TestDviDeviceList(CpStack& aCpStack, DvStack& aDvStack) { InitialisationParams* initParams = aDvStack.Env().InitParams(); TUint oldMsearchTime = initParams->MsearchTimeSecs(); initParams->SetMsearchTime(1); // Debug::SetLevel(/*Debug::kDevice | Debug::kDvDevice | Debug::kXmlFetch | Debug::kError); Print("TestDviDeviceList - starting\n"); DvDevices* devices = new DvDevices(aDvStack); CpDevices* deviceList = new CpDevices; FunctorCpDevice added = MakeFunctorCpDevice(*deviceList, &CpDevices::Added); FunctorCpDevice removed = MakeFunctorCpDevice(*deviceList, &CpDevices::Removed); Print("Count devices implementing service1\n"); Brn domainName("a.b.c"); Brn serviceType("service1"); TUint ver = 1; CpDeviceListUpnpServiceType* list = new CpDeviceListUpnpServiceType(aCpStack, domainName, serviceType, ver, added, removed); std::vector<const char*> udns; udns.push_back((const char*)gNameDevice1.Ptr()); udns.push_back((const char*)gNameDevice2.Ptr()); deviceList->Validate(udns); udns.clear(); delete list; deviceList->Clear(); Print("Count devices implementing service2\n"); serviceType.Set("service2"); list = new CpDeviceListUpnpServiceType(aCpStack, domainName, serviceType, ver, added, removed); udns.push_back((const char*)gNameDevice1_1.Ptr()); udns.push_back((const char*)gNameDevice2.Ptr()); deviceList->Validate(udns); udns.clear(); delete list; delete deviceList; delete devices; Print("TestDviDeviceList - completed\n"); initParams->SetMsearchTime(oldMsearchTime); }
uint32_t STDCALL OhNetInitParamsMsearchTtl(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->MsearchTtl(); }
void STDCALL OhNetInitParamsSetMsearchTtl(OhNetHandleInitParams aParams, uint32_t aTtl) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetMsearchTtl(aTtl); }
void STDCALL OhNetInitParamsSetAsyncBeginHandler(OhNetHandleInitParams aParams, OhNetCallbackAsync aCallback, void* aPtr) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); FunctorAsync functor = MakeFunctorAsync(aPtr, (OhNetFunctorAsync)aCallback); ip->SetAsyncBeginHandler(functor); }
uint32_t STDCALL OhNetInitParamsDvIsBonjourEnabled(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); const TChar* ignore = NULL; return (ip->DvIsBonjourEnabled(ignore)? 1 : 0); }
uint32_t STDCALL OhNetInitParamsCpUpnpEventServerPort(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->CpUpnpEventServerPort(); }
uint32_t STDCALL OhNetInitParamsDvMaxUpdateTimeSecs(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->DvMaxUpdateTimeSecs(); }
uint32_t STDCALL OhNetInitParamsSubscriptionDurationSecs(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->SubscriptionDurationSecs(); }
void STDCALL OhNetInitParamsSetIncludeLoopbackNetworkAdapter(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetIncludeLoopbackNetworkAdapter(); }
void STDCALL OhNetInitParamsSetFreeExternalCallback(OhNetHandleInitParams aParams, OhNetCallbackFreeExternal aCallback) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetFreeExternalCallback(aCallback); }
void STDCALL OhNetInitParamsSetPendingSubscriptionTimeout(OhNetHandleInitParams aParams, uint32_t aTimeoutMs) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetPendingSubscriptionTimeout(aTimeoutMs); }
void STDCALL OhNetInitParamsSetSubscriptionDuration(OhNetHandleInitParams aParams, uint32_t aDurationSecs) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetSubscriptionDuration(aDurationSecs); }
void STDCALL OhNetInitParamsSetNumSubscriberThreads(OhNetHandleInitParams aParams, uint32_t aNumThreads) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetNumSubscriberThreads(aNumThreads); }
void STDCALL OhNetInitParamsSetNumInvocations(OhNetHandleInitParams aParams, uint32_t aNumInvocations) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetNumInvocations(aNumInvocations); }
uint32_t STDCALL OhNetInitParamsNumInvocations(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->NumInvocations(); }
uint32_t STDCALL OhNetInitParamsNumSubscriberThreads(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->NumSubscriberThreads(); }
void STDCALL OhNetInitParamsSetDvMaxUpdateTime(OhNetHandleInitParams aParams, uint32_t aSecs) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetDvMaxUpdateTime(aSecs); }
uint32_t STDCALL OhNetInitParamsPendingSubscriptionTimeoutMs(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->PendingSubscriptionTimeoutMs(); }
void STDCALL OhNetInitParamsSetDvNumWebSocketThreads(OhNetHandleInitParams aParams, uint32_t aNumThreads) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetDvNumWebSocketThreads(aNumThreads); }
uint32_t STDCALL OhNetInitParamsDvNumPublisherThreads(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->DvNumPublisherThreads(); }
void STDCALL OhNetInitParamsSetDvUpnpServerPort(OhNetHandleInitParams aParams, TUint aPort) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetDvUpnpServerPort(aPort); }
uint32_t STDCALL OhNetInitParamsDvWebSocketPort(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->DvWebSocketPort(); }
void STDCALL OhNetInitParamsSetDvWebSocketPort(OhNetHandleInitParams aParams, uint32_t aPort) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetDvWebSocketPort(aPort); }
void STDCALL OhNetInitParamsSetFatalErrorHandler(OhNetHandleInitParams aParams, OhNetCallbackMsg aCallback, void* aPtr) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); FunctorMsg functor = MakeFunctorMsgC(aPtr, aCallback); ip->SetFatalErrorHandler(functor); }
uint32_t STDCALL OhNetInitParamsTcpConnectTimeoutMs(OhNetHandleInitParams aParams) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); return ip->TcpConnectTimeoutMs(); }
void STDCALL OhNetInitParamsSetDvEnableBonjour(OhNetHandleInitParams aParams, const char* aHostName) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetDvEnableBonjour(aHostName); }
void STDCALL OhNetInitParamsSetTcpConnectTimeout(OhNetHandleInitParams aParams, uint32_t aTimeoutMs) { InitialisationParams* ip = reinterpret_cast<InitialisationParams*>(aParams); ip->SetTcpConnectTimeout(aTimeoutMs); }