--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/idwsfplugin/inc/idwsfdiscoveryserviceclient.h Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,134 @@
+/*
+* Copyright (c) 2002-2005 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: Header declaration
+*
+*/
+
+
+
+
+
+
+
+
+#ifndef IDWSF_DISCOVERY_SERVICE_CLIENT
+#define IDWSF_DISCOVERY_SERVICE_CLIENT
+
+// INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <flogger.h>
+
+#include "midwsfsessionvalidator.h"
+
+#include "idwsfcoreserviceconsumer.h"
+
+
+// CONSTANTS
+_LIT8(KDiscoOption,"urn:com.nokia.serene.idwsf:disco:option");
+
+// FORWARD DECLARATIONS
+class CIdWsfServiceSession;
+class CIdWsfDsQueryResponse;
+
+// DATA TYPES
+typedef RPointerArray<CIdWsfServiceSession> RSessionArray;
+
+// CLASS DECLARATION
+class CIdWsfDiscoveryServiceClient : public CIdWsfCoreServiceConsumer,
+ public MIdWsfSessionValidator
+{
+ public: // Constructors and destructor
+
+ static CIdWsfDiscoveryServiceClient* NewL(CSIF& aSIF);//,
+ //RFileLogger& aLogger);
+
+ static CIdWsfDiscoveryServiceClient* NewLC(CSIF& aSIF);//,
+ //RFileLogger& aLogger);
+
+ ~CIdWsfDiscoveryServiceClient();
+
+ // New functions
+
+ /**
+ * @return KErrNotFound, if no known security mechanism was found
+ * KErrNotReady, if no service session has been initialized
+ */
+ virtual TInt ValidateL(CIdWsfServiceSession& aSession,
+ MSenRemoteServiceConsumer& aRemoteConsumer);
+
+ virtual void SetStatusL(const TInt aStatus);
+
+ /**
+ * @return KErrNotFound, if no known security mechanism was found
+ */
+ virtual TInt FindServiceL(RPointerArray<CSenWSDescription>& aServiceArray,
+ MSenServiceDescription& aPattern,
+ MSenRemoteServiceConsumer& aRemoteConsumer);
+
+ static TInt DSOptionsL(RFacetArray& aOptionArray,
+ MSenServiceDescription& aServiceDescription);
+
+ virtual TBool HasSuperClass( TDescriptionClassType aType );
+ virtual void SetDataTrafficDetails( TSenDataTrafficDetails& aDetails) ;
+
+ protected:
+
+ /**
+ * C++ default constructor.
+ */
+ CIdWsfDiscoveryServiceClient(CSIF& aSIF, TDescriptionClassType aType);//RFileLogger& aLogger);
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void BaseConstructL();
+
+ // New functions
+
+ /**
+ * @return KErrNotFound, if no known security mechanism was found
+ */
+ virtual TInt ProcessResponseL(CIdWsfDsQueryResponse* aResponse);
+ //RFileLogger* Log() const;
+
+ private: // New functions
+
+ HBufC8* CIdWsfDiscoveryServiceClient::DsLookupRequestL(MSenServiceDescription& aPattern);
+
+ CIdWsfDsQueryResponse* ParseResponseLC(TDesC8& aMessage);
+ //void SetStatusL(TInt aStatus);
+
+ protected: // Data
+ enum TClientState
+ {
+ ENotInitialized = 1,
+ EHasSession,
+ EHasResults,
+ EAuthServiceClient,
+ ESaslMechanism
+ };
+
+ TClientState iCState;
+ CIdWsfServiceSession* iSession; // Not owned
+
+ private: // Data
+ //RFileLogger& iLog;
+ RSessionArray iResults;
+ TSenDataTrafficDetails iDiscDetails;
+ };
+
+#endif //IDWSF_DISCOVERY_SERVICE_CLIENT
+
+// End of File