os/mm/devsoundextensions/telephonyaudiorouting/Session/inc/TelephonyAudioRoutingPolicyRequest.h
First public contribution.
2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Active object for each asynchronous request in RTelephonyAudioRoutingSession.
15 * Notifies MTelephonyAudioRoutingPolicyObserver upon request completion.
22 #ifndef TELEPHONYAUDIOROUTINGPOLICYREQUEST_H
23 #define TELEPHONYAUDIOROUTINGPOLICYREQUEST_H
26 #include "TelephonyAudioRoutingManagerSession.h"
27 #include "TelephonyAudioRoutingClientServer.h"
28 #include "TelephonyAudioRoutingManager.h"
33 * Implements active object for outstanding asynchronous request.
35 * @lib TelephonyAudioRoutingSession.lib
36 * @since Series 60 3.1
38 class CTelephonyAudioRoutingPolicyRequest : public CActive
41 public: // Constructors and destructor
44 * Two-phased constructor.
47 static CTelephonyAudioRoutingPolicyRequest* NewL( RTelephonyAudioRoutingManagerSession& aSession, MTelephonyAudioRoutingPolicyObserver& aObserver, CTelephonyAudioRoutingManager& aAudioRouting, TTelAudRtngServRqst aRequest );
53 virtual ~CTelephonyAudioRoutingPolicyRequest();
55 public: // New functions
58 * Completes the outstanding request.
59 * @since Series 60 3.1
60 * @param aRequest Request being completed
61 * @param aError A standard system error code
64 void CompleteRequest( TTelAudRtngServRqst aRequest, TInt aError );
66 private: // Functions from base classes
70 * Cancel outstanding request
79 * Implementation of CActive::RunL. Called when server request has completed.
89 * C++ default constructor.
91 CTelephonyAudioRoutingPolicyRequest( RTelephonyAudioRoutingManagerSession& aSession, MTelephonyAudioRoutingPolicyObserver& aObserver, CTelephonyAudioRoutingManager& aAudioRouting, TTelAudRtngServRqst aRequest );
95 * By default Symbian 2nd phase constructor is private.
102 RTelephonyAudioRoutingManagerSession& iManagerSession;
103 MTelephonyAudioRoutingPolicyObserver& iPolicyObserver;
104 CTelephonyAudioRoutingManager& iAudioRoutingManager;
105 TTelAudRtngServRqst iRequest;
107 private: // Friend classes
108 friend class RTelephonyAudioRoutingManagerSession;
112 #endif // TELEPHONYAUDIOROUTINGPOLICYREQUEST_H