--- /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 <lbt.h>
+#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
+