--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/commsuserpromptmgr/database/inc/netupsthreadentry.h Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,82 @@
+// Copyright (c) 2007-2009 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:
+// This file provides the Net Ups Database SubEntry.
+// @internalAll
+// @prototype
+//
+//
+
+#ifndef NETUPSTHREADENTRY_H
+#define NETUPSTHREADENTRY_H
+
+#include <e32base.h> // defines CBase
+#include <e32std.h> // defines TThreadId
+
+#include <comms-infras/ss_activities.h>
+
+#include <ups/upsclient.h> // defines the UPS SubSession
+
+#include <comms-infras/commsdebugutility.h> // defines the comms debug logging utility
+
+#include "netupsconnectionentry.h" // defines a structure which specifies the number of connections associated with a Comms Id.
+
+namespace NetUps
+{
+class CDatabaseEntry;
+class CProcessEntry;
+class CThreadMonitor;
+class CSubSession;
+class CPolicyCheckRequestQueue;
+
+NONSHARABLE_CLASS(CThreadEntry) : public CBase
+ {
+public:
+ static CThreadEntry* NewL(CDatabaseEntry& aDatabaseEntry, CProcessEntry& aProcessEntry, const TThreadId& aThreadId, UserPromptService::RUpsSession& aUpsSession);
+ virtual ~CThreadEntry();
+public:
+ TInt32 ConnectionCount();
+ TInt32 ConnectionCount(const Messages::TNodeId& aCommsId);
+ void IncrementConnectionCount(const Messages::TNodeId& aCommsId);
+ void IncrementConnectionCountL(const Messages::TNodeId& aCommsId);
+ void DecrementConnectionCount(const Messages::TNodeId& aCommsId);
+ void AddCommsIdL(const Messages::TNodeId& aCommsId);
+ TBool RemoveCommsId(const Messages::TNodeId& aCommsId);
+ const TThreadId& ThreadId() const;
+ void SetIsDead(TBool aDead);
+ TBool IsDead() const;
+ void SetThreadMonitor(CThreadMonitor* aThreadMonitor);
+ CThreadMonitor* ThreadMonitor() const; // client code tests for Null pointer
+ void SetSubSession(CSubSession* aSubSession);
+ CSubSession* SubSession() const; // client code tests for Null pointer
+ CPolicyCheckRequestQueue& RequestQueue() const;
+ RPointerArray<CConnectionEntry>& ConnectionEntry();
+protected: // class may be specialised by NetUps clients if required
+ CThreadEntry(const TThreadId&);
+private:
+ TBool FindConnectionEntry(const Messages::TNodeId& aCommsId, TInt32& index);
+ void ConstructL(CDatabaseEntry& aDatabaseEntry, CProcessEntry& aProcessEntry, UserPromptService::RUpsSession& aUpsSession);
+private:
+ TBool iIsDead;
+ TThreadId iThreadId;
+ CThreadMonitor* iThreadMonitor; // object life cycle may be shorter than CThreadEntry
+ CSubSession* iSubSession; // object life cycle may be shorter than CThreadEntry
+ CPolicyCheckRequestQueue* iQueue; // object life cycle may be shorter than CThreadEntry
+ RPointerArray<CConnectionEntry> iConnectionEntry;
+private:
+ __FLOG_DECLARATION_MEMBER;
+ };
+
+} // end of namespace NetUps
+
+#endif // NETUPSTHREADENTRY_H