diff -r 000000000000 -r f5a58ecadc66 upnp/upnpstack/controlpointbase/inc/upnpcpbdiscoveryagent.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnp/upnpstack/controlpointbase/inc/upnpcpbdiscoveryagent.h Tue Feb 02 01:12:20 2010 +0200 @@ -0,0 +1,120 @@ +/** @file +* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Declares ControlPoint Discovery class. +* +*/ + + +#ifndef C_CUPNPCPBDISCOVERYAGENT_H +#define C_CUPNPCPBDISCOVERYAGENT_H + +// INCLUDES +#include +#include "upnpdiscoveryobserver.h" + +// FORWARD DECLARATIONS +class CUpnpDevice; +class CUpnpControlPoint; +class MUpnpCpbHttpMessageController; +#ifdef RD_UPNP_REMOTE_ACCESS +class CUpnpRadaSync; +#endif + +/** + * Mediator class handling whole discovery process. + * It gets device description and decides how it should be treated + * and how to discorery it. + * + * @lib controlpointbase.lib + * @since S60 v5.0 + */ +NONSHARABLE_CLASS( CUpnpCpbDiscoveryAgent ) : public CBase + { + public: + /** + * Two-phased constructor + * @since S60 v5.0 + */ + static CUpnpCpbDiscoveryAgent* CUpnpCpbDiscoveryAgent::NewL( + MUpnpCpbHttpMessageController& aMessanger ); + + /** + * Destructor + * @since S60 v5.0 + */ + ~CUpnpCpbDiscoveryAgent(); + + public: // Functions from devired class + + /** + * Make a SSDP search. Search string should be some of these strings (defined in UPnP Device Architecture) + * @since Series60 5.0 + * @param aSearchString The search target. + */ + void SearchL( const TDesC8& aSearchString ); + + #ifdef RD_UPNP_REMOTE_ACCESS + /* + * Enables rada device + * @since Series60 5.0 + */ + void EnableRadaDeviceL( TRequestStatus& aStatus ); + + /* + * Enables rada device + * @since Series60 5.0 + * @return Rada device start status + */ + TInt EnableRadaDeviceL(); + + /* + * Disables rada device + * @since Series60 5.0 + */ + void DisableRadaDeviceL(); + + /**********IPFinterng*****/ + + void StartIPFilteringL(); + + void StopIPFiltering(); + + /***********************/ + #endif + + private: + /** + * Constructor + * @since S60 v5.0 + */ + CUpnpCpbDiscoveryAgent( MUpnpCpbHttpMessageController& aMessanger ); + + /** + * Second phase constructor + * @since S60 v5.0 + */ + void ConstructL(); + + private: + //not owned + MUpnpCpbHttpMessageController& iMessanger; + + #ifdef RD_UPNP_REMOTE_ACCESS + // RADA client + CUpnpRadaSync* iRadaClient; + #endif + }; + +#endif // C_CUPNPCPBDISCOVERYAGENT_H +// End of File