--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsframework/inc/senhandlerbase.h Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2006 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: Abstract class providing CBase
+* functionality on top of MSenHandler
+*
+*/
+
+
+
+
+
+
+
+
+
+#ifndef SEN_HANDLER_BASE_H
+#define SEN_HANDLER_BASE_H
+
+// INCLUDES
+#include <e32std.h>
+#include <e32base.h> // for CActive
+#include <SenBaseFragment.h>
+#include "msenhandler.h"
+#include "msenhandlercontext.h"
+
+// FORWARD DECLARATIONS
+class MSenHandlerContext;
+
+
+// CLASS DECLARATION
+/**
+* This base class makes it possible to create a "Handler Factory",
+* which may produce instances of different CSenHandlerBase subclasses.
+* [ It even might be useful to be able to create both ECOM and non-ECOM
+* versions of handlers, if such factory pattern is further utilized.]
+*
+* Mainly, this abstract class exists to offer re-usable basic functionality
+* to its direct subclasses. Functionality includes default handling of
+* MSenHandlerContext properties, and base functions and "services".
+*/
+class CSenHandlerBase : public CSenBaseFragment, public MSenHandler
+ {
+ public:
+ /**
+ * C++ destructor
+ */
+ IMPORT_C virtual ~CSenHandlerBase();
+
+ /**
+ * Handlers must also be capable to represent their structure and state
+ * (type, direction and phase) in UCS8 XML form. This can be achieved either
+ * by overriding this method, or by deriving from xml fragment class, like
+ * CSenBaseFragment.
+ *
+ * @param aWs is the stream where to write UCS8 (UTF-8) XML document into.
+ */
+ IMPORT_C virtual void WriteAsXMLToL(RWriteStream& aWs);
+
+ /**
+ * This method returns an XML document that will include handler types, direction, phase and name.
+ *
+ * @return UCS8 (UTF-8) XML document representation of this handler.
+ */
+ IMPORT_C virtual HBufC8* AsXmlL();
+
+ protected:
+ /**
+ * C++ constructor
+ */
+ IMPORT_C CSenHandlerBase();
+
+ /**
+ * Default mechanism for processing received handler specific context.
+ * Typically, handlers receive their context as construction phase
+ * argument.
+ *
+ * @param aCtx The context that contains the configuration description of the handler.
+ */
+ IMPORT_C virtual void ProcessHandlerContextL(MSenHandlerContext& aCtx);
+ };
+
+#endif // SEN_HANDLER_BASE_H
+
+// End of File