--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetooth/btstack/sdp/sdpnetdb.h Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,89 @@
+// Copyright (c) 2000-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:
+//
+
+#ifndef SDPNETDB_H
+#define SDPNETDB_H
+
+#include <es_prot.h>
+#include <bttypes.h>
+
+class CSdpClient;
+class CSdpProtocol;
+class TSdpState;
+
+/**
+ The net db provider access point.
+ This class forms the major interaction point with RNetDatabase classes
+**/
+NONSHARABLE_CLASS(CSdpNetDbProvider) : public CNetDBProvdBase
+ {
+friend class CSdpProtocol;
+friend class CSdpClient;
+public:
+ // Creation
+ static CSdpNetDbProvider* NewL(CSdpProtocol& aProtocol);
+ ~CSdpNetDbProvider();
+
+ // CNetDBProvdBase functions
+ void Query(TDes8& aBuffer);
+ void Add(TDes8& aBuffer);
+ void Remove(TDes8& aBuffer);
+ void CancelCurrentOperation();
+ // End CNetDBProvdBase functions
+
+ // Notifications from the sdp client
+ void ClientUp();
+ void ClientDown();
+ void QueryComplete(const TDesC8& aData);
+
+ // Other functions
+ void Error(TInt aErrorCode);
+ //From CResolverProvdBase
+ TInt SecurityCheck(MProvdSecurityChecker *aSecurityChecker);
+private:
+ // Creation
+ CSdpNetDbProvider(CSdpProtocol& aProtocol);
+ void ConstructL();
+
+ // Query Dispatch
+ void ConnectQuery();
+ void ServiceQuery();
+ void AttributeQuery();
+ void EncodedQuery();
+ void RetrieveResult();
+
+ TInt ReturnResult(const TDesC8& aData);
+
+ // From CNetDBProvdBase
+ TInt CheckCapability(TUint32 aCapability, TUint aType);
+ TInt CheckCapabilityPerPolicy(const TUint32 aCapability, const TUint aPolicyIndex) const;
+
+
+private:
+ //Data
+ TBTDevAddr iRemoteDev;
+ TDes8* iQueryBuffer;
+ HBufC8* iResultBuf;
+
+ // Links
+ CSdpProtocol& iProtocol;
+ CSdpClient* iClient;
+ // So we can go on a Que in the client
+ TDblQueLink iLink;
+ //Mixin providing security checking, This is not an owned variable.
+ MProvdSecurityChecker* iSecurityChecker;
+ };
+
+#endif