--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ximpfw/core/srcdatamodel/ximpitemparent.h Thu Dec 17 08:54:49 2009 +0200
@@ -0,0 +1,140 @@
+/*
+* 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: Item parent interface.
+*
+*/
+
+#ifndef CXIMPITEMPARENT_H
+#define CXIMPITEMPARENT_H
+
+#include <ximpitemparentbase.h>
+
+class COwnPresenceSubscriptionItem;
+class CGroupListSubscriptionItem;
+class CGroupContentSubscriptionItem;
+class CPresentityPresenceSubscriptionItem;
+class CPresentityGroupMembersPresenceSubscriptionItem;
+class CWatcherListSubscriptionItem;
+class CGrantRequestListSubscriptionItem;
+//class CXIMPSubscriptionItemBase;
+class CXIMPApiEventBase;
+class MXIMPPscContext;
+class CXIMPIdentityImp;
+class CPresenceConfigurationItem;
+class CGroupMembersPresenceConfigurationItem;
+class CXIMPConfigurationItemBase;
+class CBlockListSubscriptionItem;
+class CPresenceToEveryoneConfigurationItem;
+class MPresenceCacheWriter;
+
+// FIX ME
+#define PRESENCE_ITEM_PARENT 0xE0000009
+
+/**
+ * Item parent interface.
+ *
+ * @since S60 v3.2
+ */
+class MXIMPItemParent : public MXIMPItemParentBase
+ {
+ public:
+ enum { KInterfaceId = PRESENCE_ITEM_PARENT};
+
+public: // Definitions
+
+ /**
+ * Remove item
+ * @param aChild Item pointer to remove.
+ */
+ virtual void RemoveMe( COwnPresenceSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CGroupListSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CGroupContentSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CPresentityPresenceSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CWatcherListSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CPresentityGroupMembersPresenceSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CGrantRequestListSubscriptionItem* aChild ) = 0;
+ virtual void RemoveMe( CBlockListSubscriptionItem* aChild ) = 0;
+
+ virtual void RemoveMe( CPresenceConfigurationItem* aChild ) = 0;
+ virtual void RemoveMe( CPresenceToEveryoneConfigurationItem* aChild ) = 0;
+ virtual void RemoveMe( CGroupMembersPresenceConfigurationItem* aChild ) = 0;
+
+ /**
+ * Add event
+ */
+ virtual void AddEventL( CXIMPApiEventBase& aEvent, MXIMPPscContext* aContext ) = 0;
+
+ /**
+ * Register item for expiration purposes.
+ */
+ //virtual void RegisterExpiringItemL( CXIMPSubscriptionItemBase* aExpireItem ) = 0;
+
+ /**
+ * Unregister item from expiration purposes.
+ */
+ //virtual void UnregisterExpiringItem( CXIMPSubscriptionItemBase* aExpireItem ) = 0;
+
+ /**
+ * Add item as subscriber for presentity presence.
+ */
+ virtual void AddPresentityPresenceSubscriberL( const CXIMPIdentityImp& aIdentity, CXIMPSubscriptionItemBase* aItem, CXIMPIdentityImp* aGroup = NULL ) = 0;
+
+ /**
+ * Remove item from subscribing presentity presence.
+ */
+ virtual void RemovePresentityPresenceSubscriber( const CXIMPIdentityImp& aIdentity, CXIMPSubscriptionItemBase* aItem ) = 0;
+
+ /**
+ * Activate item for subscribing presentity presence
+ */
+ virtual void ActivatePresentityPresenceSubscriberL( const CXIMPIdentityImp& aIdentity, CXIMPSubscriptionItemBase* aItem ) = 0;
+
+ /**
+ * Synthesise presentity presence subscription event
+ */
+ virtual void SynthesisePresentityPresenceSubscriptionEventToL( const CXIMPIdentityImp& aIdentity, MXIMPPscContext* aContext, TBool aForceEvent ) = 0;
+
+ /**
+ * Add item as configurator for presentity presence.
+ */
+ virtual void AddPresenceConfiguratorL( const CXIMPIdentityImp& aIdentity, CXIMPConfigurationItemBase* aItem ) = 0;
+
+ /**
+ * Remove item from configuring presentity presence.
+ */
+ virtual void RemovePresenceConfigurator( const CXIMPIdentityImp& aIdentity, CXIMPConfigurationItemBase* aItem ) = 0;
+
+ /**
+ * Return the protocol ID of the host of the parent
+ */
+ virtual TInt32 ProtocolUID( ) = 0;
+
+ /**
+ * Return the global presence cache object
+ */
+ virtual MPresenceCacheWriter* ExternalCache( ) = 0;
+
+protected: // Destruction
+
+ /**
+ * Object cannot be delted through this interface
+ */
+ virtual ~MXIMPItemParent(){}
+ };
+
+/* ======================================================================== */
+
+
+
+#endif // CXIMPITEMPARENT_H