--- /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