--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wscore/inc/msendao.h Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,105 @@
+/*
+* 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 M_SEN_DAO_H
+#define M_SEN_DAO_H
+
+// INCLUDES
+#include <flogger.h>
+#include <e32std.h>
+
+#include "msenserviceinvocationframework.h"
+#include "msenservicemanager.h"
+#include "msenremoteserviceconsumer.h"
+#include "MSenServiceDescription.h"
+
+// FORWARD DECLARATIONS
+class CSIF;
+class CSenServiceSession;
+class CSenXMLDAO;
+class CSenCoreServiceManager;
+
+// CLASS DECLARATION
+class MSenDAO
+ {
+ friend class CSenXMLDAO; // to provide visibility to critical section
+ friend class CSenCoreServiceManager; // to provide visibility to critical section
+
+ public:
+ virtual MSIF* Framework( const TDesC8& aFramework ) = 0;
+ virtual TInt Add( CSenWSDescription& aDescription ) = 0;
+ virtual TInt Add( CSIF& aFramework ) = 0;
+ virtual TBool Remove( CSenWSDescription& aDescription ) = 0;
+ virtual void Remove( CSIF& aFramework ) = 0;
+
+ /**
+ * The ownership of the returned ServiceDescription is NOT transferred
+ */
+ virtual CSenWSDescription* FindMatchingServiceDescriptionL( CSenWSDescription& aSd ) = 0; //codescannerwarnings
+
+ virtual TInt AddServiceDescriptionToFrameworksL( CSenWSDescription& aPattern,
+ MSenRemoteServiceConsumer& aRemoteConsumer,
+ HBufC8*& aErrorMsg ) = 0;
+
+ virtual TInt FindAllMatchingServiceDescriptions( RWSDescriptionArray& aMatches,
+ const TDesC8& aContract ) = 0;
+
+ virtual TInt FindAllMatchingServiceDescriptions( RWSDescriptionArray& aMatches,
+ MSenServiceDescription& aPattern ) = 0;
+
+ virtual TInt SaveL( const CSenServiceSession& aServiceSession ) = 0;
+ virtual TInt SaveL( const CSIF& aServiceInvocationFramework ) = 0;
+ virtual CDesC8Array& SupportedFrameworksL() = 0;
+ virtual void Load() = 0;
+ virtual TInt NotifyFrameworksL( const TDesC8& aFrameworkID,
+ const TInt aEvent,
+ TAny* aArgument) = 0;
+
+ virtual TPtrC8 TransportPluginCueBySchemeL( const TPtrC8& aSchema ) = 0;
+
+ /**
+ * Looks up CSenProvider ECOM plug-in. Sharable hostlets (providers)
+ * may be found from a "proxy", a cache allowing them to be reused.
+ */
+ virtual MSenProvider& LookupHostletForL( const TDesC8& aHostletEndpoint,
+ const TDesC& aReqThreadId,
+ const TDesC8& aReqConsumerId ) = 0;
+
+ /**
+ * Unsharable providers should be released from server (main) threads
+ * memory by calling this method.
+ */
+ virtual TInt ReleaseHostletL(const MSenProvider* aHostlet,
+ const TDesC& aReqThreadId,
+ const TDesC8& aReqConsumerId) = 0;
+
+ private:
+ virtual TInt Save() = 0;
+
+ RCriticalSection iCriticalSection;
+ };
+
+#endif // M_SEN_DAO_H
+
+// End of File