realtimenetprots/sipfw/SIP/ServerResolver/inc/CServerQuery.h
changeset 0 307788aac0a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/realtimenetprots/sipfw/SIP/ServerResolver/inc/CServerQuery.h	Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2004-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:
+* Name          : CServerQuery.h
+* Part of       : ServerResolver
+* Version       : SIP/4.0 
+*
+*/
+
+
+
+
+/**
+ @internalComponent
+*/
+#ifndef CSERVERQUERY_H
+#define CSERVERQUERY_H
+
+//INCLUDES
+#include <e32base.h>
+#include "MSIPServerQuery.h"
+#include "_sipcodecdefs.h"
+
+// FORWARD DECLARATIONS
+class CSIPQueryConditionBase;
+class MSIPServerResolverObserver;
+class CSIPQueryData;
+class MSIPHostResolver;
+
+// CLASS DEFINITION
+/**
+ * CServerQuery implements a
+ */
+class CServerQuery : public CBase, public MSIPServerQuery
+	{
+	public:// Constructors and destructor
+
+		/**
+	 	* Creates a new CServerQuery instance
+	 	* @param aObserver callback that will be used when resolving 
+	 	*    	has been completed. The ownership is not transferred.
+	 	* @param aQueryData for storing the query data. 
+	 	*		The ownership is transferred.
+	 	* @returns a new instance of CServerQuery
+	 	*/
+		static CServerQuery* NewL( MSIPServerResolverObserver* aObserver,
+							  	   CSIPQueryData* aQueryData );
+
+    	/**
+	 	* Creates a new CServerQuery instance 
+	 	* and pushes it to CleanupStack
+	 	* @param aObserver callback that will be used when resolving 
+	 	*    	has been completed. The ownership is not transferred.
+	 	* @param aQueryData for storing the query data. 
+	 	*		The ownership is transferred.
+	 	* @returns a new instance of CServerQuery
+	 	*/
+		static CServerQuery* NewLC( MSIPServerResolverObserver* aObserver, 
+							   	    CSIPQueryData* aQueryData );
+							   	    
+		/**
+	 	* Destructor.
+	 	*/			   	    
+		~CServerQuery();
+					   
+	public:// From MSIPServerQuery
+	
+		CSIPQueryData& QueryData();
+
+	public:
+	
+		void Query( MSIPHostResolver& aResolver );
+		 
+		TBool HandleQueryResultL( TInt aStatus );
+		 
+		MSIPServerResolverObserver* ServerResolverObserver(); 
+	
+		void SetQueryConditionL( CSIPQueryConditionBase* aQueryCondition ); 
+		
+	public:// Data
+	
+		static const TInt iOffset;
+		
+		TSglQueLink iLink;
+
+	private:// Constructors and destructor
+
+		void ConstructL( MSIPServerResolverObserver* aObserver, 
+					 	 CSIPQueryData* aQueryData );
+					 	 
+		CServerQuery();
+		
+	private:// Data
+	
+		CSIPQueryConditionBase* iQueryCondition;
+		
+		//Not owned
+		MSIPServerResolverObserver* iObserver;
+		
+		CSIPQueryData* iQueryData;
+		
+	private: // For testing purposes
+
+		UNIT_TEST( CServerQueryTest)	
+    
+	};
+#endif // end of CSERVERQUERY_H
+
+// End of File