--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/instantmessagesalert/tsrc/testinstantmsgalert/src/stubs/s_presencefeatures.cpp Wed Sep 01 12:33:36 2010 +0100
@@ -0,0 +1,168 @@
+/*
+* s_presencefeatures.cpp Copyright (c) 2006, 2007 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: Interface for presence context.
+*
+*/
+
+
+#include "s_presencefeatures.h"
+#include "s_presentitygroups.h"
+#include "s_ximppresenceauthorization.h"
+#include "s_presencepublishing.h"
+#include "s_presenceobjectfactory.h"
+#include "s_presencewatching.h"
+
+MPresenceAuthorizationStub gPresenceAuthorizationStub;
+MPresencePublishingStub gMPresenceFeaturesStubPublishing;
+MPresenceObjectFactoryStub gMPresenceFeaturesStubObjectFactory;
+MPresenceWatchingStub gMPresenceFeaturesStubPresenceWatching;
+
+/**
+ * Factory method to instantiate MPresenceFeatures.
+ *
+ * Factory method to instantiate platform default
+ * MXIMPClient implementation through the ECom.
+ * If the default presence framework isn't supported
+ * in the platform, leaves with errorcode signalled
+ * from ECom.
+ *
+ * @return The new presence client object. Object
+ * ownership is returned to caller.
+ */
+MPresenceFeatures* MyMPresenceFeatureStub::NewStubL( MXIMPContext* /*aContext*/ )
+ {
+
+ MyMPresenceFeatureStub* ret = new (ELeave) MyMPresenceFeatureStub();
+ CleanupStack::PushL(ret);
+ ret->ContructL();
+ CleanupStack::Pop();
+ return ret;
+ }
+
+void MyMPresenceFeatureStub::ContructL()
+ {
+ iGroups = new (ELeave) MyPresentityGroupsStub();
+ }
+
+/**
+ * Public destructor.
+ * Objects can be deleted through this interface.
+ */
+MyMPresenceFeatureStub::~MyMPresenceFeatureStub()
+ {
+ delete iGroups;
+ };
+
+
+/**
+ * Default constructor to zero initialize
+ * the iEcomDtorID member.
+ */
+MyMPresenceFeatureStub::MyMPresenceFeatureStub()
+ {
+
+ }
+
+
+/**
+ * Gets reference to object factory interface.
+ *
+ * Returned object factory interface is used
+ * to instantiate presence objects.
+ *
+ * @return Object factory interface.
+ * No ownership is returned caller.
+ */
+MPresenceObjectFactory& MyMPresenceFeatureStub::PresenceObjectFactory() const
+ {
+// MPresenceObjectFactory* ret = NULL;
+// return *ret;
+ return gMPresenceFeaturesStubObjectFactory;
+ };
+
+
+/**
+ * Gets reference to presence watching interface.
+ *
+ * @return Requested interface.
+ * No ownership is returned caller.
+ */
+MPresenceWatching& MyMPresenceFeatureStub::PresenceWatching() const
+ {
+ //MPresenceWatching* ret = NULL;
+ //return *ret;
+ return gMPresenceFeaturesStubPresenceWatching;
+ };
+
+
+
+/**
+ * Gets reference to presence publishing interface.
+ *
+ * @return Requested interface.
+ * No ownership is returned caller.
+ */
+MPresencePublishing& MyMPresenceFeatureStub::PresencePublishing() const
+ {
+// MPresencePublishing* ret = NULL;
+// return *ret;
+ return gMPresenceFeaturesStubPublishing;
+ };
+
+
+
+/**
+ * Gets reference to presentity groups interface.
+ *
+ * @return Requested interface.
+ * No ownership is returned caller.
+ */
+MPresentityGroups& MyMPresenceFeatureStub::PresentityGroups() const
+ {
+ return *iGroups;
+ };
+
+
+/**
+ * Gets reference to presence authorization interface.
+ *
+ * @return Requested interface.
+ * No ownership is returned caller.
+ */
+MPresenceAuthorization& MyMPresenceFeatureStub::PresenceAuthorization() const
+ {
+ return gPresenceAuthorizationStub;
+ };
+
+
+const TAny* MyMPresenceFeatureStub::GetInterface(
+ TInt32 /*aInterfaceId*/,
+ TIfGetOps /*aOps*/ ) const
+ {
+ return NULL;
+ }
+
+TAny* MyMPresenceFeatureStub::GetInterface(
+ TInt32 /*aInterfaceId*/,
+ TIfGetOps /*aOps*/ )
+ {
+ return NULL;
+ }
+
+TInt32 MyMPresenceFeatureStub::GetInterfaceId() const
+ {
+ return 0;
+ }
+
+