diff -r 000000000000 -r 667063e416a2 locationtriggering/ltclientlib/inc/lbtclientrequester.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/locationtriggering/ltclientlib/inc/lbtclientrequester.h Tue Feb 02 01:06:48 2010 +0200 @@ -0,0 +1,148 @@ +/* +* Copyright (c) 2006 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: location triggering server client interface +* +*/ + + + +#ifndef LBTCLIENTREQUESTER_H +#define LBTCLIENTREQUESTER_H + +#include +#include "lbtclientrequester.h" + + +// Forward declaration +class RLbt; +/** + * Client requestor class. + * + * This is a helper class used by RLbt class to serve the asyncronous operations + * requested by the client. + */ +class CLbtClientRequester : public CActive + { +public: + /** + * This is used to keep track of operation served by this object. + */ + enum TAsyncReqType + { + EListTriggerIdsCount = 1, + EListTriggersCount = 2, + EOpOther = 3 + }; + /** + * Construct a CLbtClientRequester object. + */ + static CLbtClientRequester* NewL( RLbt& aLbt ); + + /** + * Destructor. + */ + ~CLbtClientRequester(); + + /** + * Starts the asyncronous operation by setting the iStatus to active + */ + void Start(); + + /** + * Adds the buffer into the object. + */ + void SetBuffer(CBufFlat* aBuf ); + + /** + * Starts the asyncronous operation by setting the iStatus to active. + */ + void Start(TAsyncReqType aType); + + /** + * Stores the client's status. + */ + void SetStatus(TRequestStatus& aStatus); + + /** + * Retrieves client's status + */ + TRequestStatus& Status(); + + /** + * Stores the list trigger id data. + */ + void SetListTriggerIdData(RArray < TLbtTriggerId >* aTriggerIdArray); + + /** + * Stores the list trigger data. + */ + void SetListTriggerData(RPointerArray < CLbtTriggerInfo >* aTriggerInfoList); + + + /** + * + */ + RPointerArray < CLbtTriggerInfo >* ListTriggerData(); + + /** + * + */ + RArray < TLbtTriggerId >* ListTriggerIdData(); + + /** + * Returns reference of list trigger size. + */ + TInt& ListTriggersSize(); + + +private://Derived from CActive + void RunL(); + TInt RunError( TInt aError ); + void DoCancel(); + +private: + /** + * C++ default constructor + */ + CLbtClientRequester( RLbt& aLbt); + + /** + *Second phase constructor + */ + void ConstructL(); + +private:// data + // Subsession handle + RLbt& iLbt; + + // Pointer to client's status + TRequestStatus* iClientStatus; + + // CBufFlat pointer array + RPointerArray < CBufFlat > iClientBuf; + + // Type of asyncronous request served. + TAsyncReqType iType; + + // TLbtTriggerId array. + RArray < TLbtTriggerId >* iTriggerIdArray; + + // CLbtTriggerInfo pointer array. + RPointerArray < CLbtTriggerInfo >* iTriggerInfoList; + + TInt iListTriggersSize; + }; + +#endif // LBTTRIGGERCHANGEEVENTNOTIFIER_H +