diff -r 000000000000 -r 96612d01cf9f videofeeds/clientapi/inc/CIptvSmClientSynchronizer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/videofeeds/clientapi/inc/CIptvSmClientSynchronizer.h Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: Header file for CIptvSmClientSynchronizer class* +*/ + + + + + +#ifndef __CIPTVSMCLIENTSYNCHRONIZER_H__ +#define __CIPTVSMCLIENTSYNCHRONIZER_H__ + +// INCLUDE FILES +#include "CIptvServiceManagementClient.h" + +// FORWARD DECLARATIONS + +class CIptvServiceManagementClient; +class CIptvSmEvent; + +// CLASS DECLARATION +/** + * This class implements synchronized versions of CIptvServiceManagementClient async + * API functions. This class is not intended for client usage, use + * CIptvServiceManagementClient instead. + */ +class CIptvSmClientSynchronizer : public CBase, public MIptvServiceManagementClientObserver + { + public: + + public: // Constructors and destructors + /** + * NewL. + * Two-phased constructor. + * Creates a CIptvSmClientSynchronizer object using two phase construction, + * and return a pointer to the created object. + * @param aClient reference to client. + * @return A pointer to the created instance of CIptvSMClientSynchronizer. + */ + static CIptvSmClientSynchronizer* NewL(CIptvServiceManagementClient& aServiceManagementClient); + + /** + * ~CIptvSmClientSynchronizer. + * Destructor. + * Destroys the object and releases all memory objects. + */ + virtual ~CIptvSmClientSynchronizer(); + + public: // New functions + + /** + * See corresponding functions from CIptvServiceManagementClient.h. + */ + TInt AddServiceL(CIptvService& aService, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + TInt UpdateServiceL(CIptvService& aService, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + TInt GetServicesL(TUint32 aSearchLimitFlags, + CIptvServiceManagementClient::TOrder aOrder, + CDesC8ArraySeg*& aServicesArray, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + TInt GetServicesL(TUint32 aStartId, + TUint32 aEndId, + CDesC8ArraySeg*& aServicesArray, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + TInt DeleteServiceL(TUint32 aId, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + TInt SetAllIapsL(CIptvIapList& aIapList, + TBool aIgnoreReadOnlyFlag, + MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + /* Network selection API */ + /* See corresponding function headers from CIptvServiceManagementClient.h */ + + void GetUsedIapL(TUint32 aServiceId, + TUint32& aIap, + TDes& aIapName, + CIptvNetworkSelection::TConnectionPermission& aConnectionPermission, + CIptvNetworkSelection::TRespStatus& aRespStatus); + + TInt ServerShutdown(MIptvServiceManagementClientObserver::TRespStatus& aRespStatus); + + /** + * Callback functions, see MIptvServiceManagementClientObserver.h. + */ + void AddServiceResp(MIptvServiceManagementClientObserver::TRespStatus aRespStatus); + void UpdateServiceResp(MIptvServiceManagementClientObserver::TRespStatus aRespStatus); + void DeleteServiceResp(MIptvServiceManagementClientObserver::TRespStatus aRespStatus); + void GetServicesResp(MIptvServiceManagementClientObserver::TRespStatus aRespStatus, + CDesC8ArraySeg* aServicesArray); + void GetUsedIapResp(TUint32 aIapId, + const TDesC& aIapName, + CIptvNetworkSelection::TConnectionPermission aConnPerm, + TBool aWlanWhenGPRS, + CIptvNetworkSelection::TRespStatus aRespStatus + ); + void ServerShutdownResp(MIptvServiceManagementClientObserver::TRespStatus aRespStatus); + void HandleSmEvent(CIptvSmEvent& aEvent); + + protected: // Functions from base classes + + private: + + /** + * CIptvSmClientSynchronizer. + * Default C++ constructor. + */ + CIptvSmClientSynchronizer(CIptvServiceManagementClient& aServiceManagementClient); + + /** + * ConstructL. + * Performs the second phase construction of a + * CIptvRequestHandler object. + */ + void ConstructL(); + + private: // Data + + CIptvServiceManagementClient& iServiceManagementClient; + MIptvServiceManagementClientObserver::TRespStatus iRespStatus; + CIptvNetworkSelection::TRespStatus iNsRespStatus; + CDesC8ArraySeg* iServicesArray; + TUint32 iIapId; + TBuf iIapName; + CIptvNetworkSelection::TConnectionPermission iConnectionPermission; + CActiveSchedulerWait* iActiveSchedulerWait; + }; + + +#endif //__CIPTVSMCLIENTSYNCHRONIZER_H__ + +// End of File