First public contribution.
2 * Copyright (c) 2005-2009 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.
19 #ifndef LDDASYNCREQUEST_H_
20 #define LDDASYNCREQUEST_H_
25 class DLddAsyncRequest ;
28 * DLddAsyncRequest observer interface
31 class MAsyncRequestObserver
34 virtual void Notify(DLddAsyncRequest& aRequest) = 0;
38 * Wraps a TRequestStatus along with a function (command) id
41 class DLddAsyncRequest
44 DLddAsyncRequest(TInt aFunctionId, TRequestStatus* aStatus, MAsyncRequestObserver& aObserver);
45 virtual ~DLddAsyncRequest();
46 TRequestStatus* Status();
52 TRequestStatus* iStatus;
53 MAsyncRequestObserver& iObserver;
59 * Extends DLddAsyncRequest to add DMMCSession async functionality
62 class DMmcSessionAsyncRequest : public DLddAsyncRequest
65 DMmcSessionAsyncRequest(TInt aFunctionId, TRequestStatus* aStatus,
66 MAsyncRequestObserver& aObserver, TDynamicDfcQue* aDfcQ, DMMCStack& aStack, TMMCard& aCard);
67 ~DMmcSessionAsyncRequest();
68 DMMCSession& Session();
70 static void SessionEndCallBack(TAny *aPtr);
71 static void SessionEndDfc(TAny *aPtr);
75 DMMCSession* iSession;
76 TMMCCallBack iSessionEndCallBack;
85 void SessionEndCallBack();
91 * Extends DLddAsyncRequest to add TPBusCallBack (DMMCSocket) async functionality
92 * used to handle callbacks for Bus events
95 class DBusEventRequest : public DMmcSessionAsyncRequest
98 DBusEventRequest(TInt aFunctionId, TRequestStatus* aStatus, MAsyncRequestObserver& aObserver, TInt aUnit,
99 TDynamicDfcQue* aDfcQ, DMMCStack& aStack, TMMCard& aCard);
102 TPBusState BusState() const { return (TPBusState) iBusState; }
103 TInt BusError() const { return iBusError; }
105 static void BusEventCallBack(TAny* aPtr, TInt aReason, TAny* a1, TAny* a2);
107 TPBusCallBack iBusEventCallBack;
109 void BusEventCallBack(TInt aReason, TAny* a1, TAny* a2);
110 TPBusState iBusState;
114 #endif /*LDDASYNCREQUEST_H_*/