imservices/ossprotocoladaptation/src/presenceauthorization/cossprotocolpresenceauthorization.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imservices/ossprotocoladaptation/src/presenceauthorization/cossprotocolpresenceauthorization.cpp Thu Dec 17 08:54:49 2009 +0200
@@ -0,0 +1,393 @@
+/*
+* Copyright (c) 2007-2008 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: Oss Protocol implementation for Presence Framework
+*
+*/
+
+
+#include <badesca.h>
+
+#include <ximpbase.h>
+#include <ximpidentity.h>
+#include <ximpprotocolconnectionhost.h>
+
+#include "cossprotocolpresenceauthorization.h"
+#include "ossprotocolpluginlogger.h"
+#include "cossprotocolconnectionmanager.h"
+
+#include "csubscribepresencegrantrequestlistrequest.h"
+#include "ossprotocolpluginpanics.h"
+#include "cpresenceauthuserrequest.h"
+#include "cwithdrawpresencegrantfrompresentityrequest.h"
+
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CImpsConnection::GetInterface()
+// ---------------------------------------------------------------------------
+//
+TAny* COssProtocolPresenceAuthorization::GetInterface( TInt32 aInterfaceId,
+ TIfGetOps aOptions )
+ {
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::GetInterface() Start") );
+ if( aInterfaceId == MProtocolPresenceAuthorization::KInterfaceId )
+ {
+ MProtocolPresenceAuthorization* self = this;
+ return self;
+ }
+
+ if( aOptions == MXIMPBase::EPanicIfUnknown )
+ {
+ User::Panic( KOSSProtocolPresenceAuthorization, KErrExtensionNotSupported );
+ }
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::GetInterface() End") );
+ return NULL;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CImpsConnection::GetInterface()
+// ---------------------------------------------------------------------------
+//
+const TAny* COssProtocolPresenceAuthorization::GetInterface( TInt32 aInterfaceId,
+ TIfGetOps aOptions ) const
+ {
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::GetInterface() Start") );
+ if( aInterfaceId == MProtocolPresenceAuthorization::KInterfaceId )
+ {
+ const MProtocolPresenceAuthorization* self = this;
+ return self;
+ }
+
+ if( aOptions == MXIMPBase::EPanicIfUnknown )
+ {
+ User::Panic( KOSSProtocolPresenceAuthorization, KErrExtensionNotSupported );
+ }
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::GetInterface() End") );
+ return NULL;
+ }
+
+
+// ---------------------------------------------------------------------------
+// CImpsConnection::NewInstanceLC()
+// ---------------------------------------------------------------------------
+//
+TInt32 COssProtocolPresenceAuthorization::GetInterfaceId() const
+ {
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::GetInterfaceId() Start-End") );
+ return MProtocolPresenceAuthorization::KInterfaceId;
+ }
+
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::COssProtocolPresenceAuthorization()
+// ---------------------------------------------------------------------------
+//
+COssProtocolPresenceAuthorization::COssProtocolPresenceAuthorization(
+ MOSSProtocolConnectionManager& aConnMan)
+ :iConnMan(aConnMan)
+ {
+ LOGGER ( TXT("::COssProtocolPresenceAuthorization() Start-End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::ConstructL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::ConstructL()
+ {
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::ConstructL() Start") );
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::ConstructL() End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::NewL()
+// ---------------------------------------------------------------------------
+//
+COssProtocolPresenceAuthorization* COssProtocolPresenceAuthorization::NewL(
+ MOSSProtocolConnectionManager& aConnMan )
+ {
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::NewL() Start") );
+
+ COssProtocolPresenceAuthorization* self =
+ new( ELeave ) COssProtocolPresenceAuthorization( aConnMan);
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ LOGGER ( TXT("COssProtocolPresenceAuthorization::NewL() End") );
+ return self;
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::~COssProtocolPresenceAuthorization()
+// ---------------------------------------------------------------------------
+//
+COssProtocolPresenceAuthorization::~COssProtocolPresenceAuthorization()
+ {
+ LOGGER ( TXT("Authorization::~COssProtocolPresenceAuthorization() Start") );
+
+
+ LOGGER ( TXT("Authorization::~COssProtocolPresenceAuthorization() End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUnsubscribePresenceWatcherListL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoSubscribePresenceGrantRequestListL(
+ TXIMPRequestId aReqId )
+ {
+ LOGGER ( TXT("Authorization::DoSubscribePresenceGrantRequestListL() Start") );
+ if( ! iConnMan.GetContactManager().IsFetchInvitationsForFirstTime() )
+ {
+ iConnMan.GetContactManager().SetFetchInvitationsForFirstTime(ETrue);
+ CreateDataHandlerL();
+
+ iConnMan.GetAddNotificationHandler().StartListeningL();
+ iConnMan.HandleToHost().HandleRequestCompleted( aReqId, KErrNone );
+ }
+ else
+ {
+ iConnMan.GetContactManager().ReturnInvitationListL();
+ iConnMan.HandleToHost().HandleRequestCompleted ( aReqId, KErrNone );
+ }
+
+ LOGGER ( TXT("Authorization::DoSubscribePresenceGrantRequestListL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUnsubscribePresenceWatcherListL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoUnsubscribePresenceGrantRequestListL(
+ TXIMPRequestId aReqId )
+ {
+ LOGGER ( TXT("Authorization::DoUnsubscribePresenceGrantRequestListL() Start") );
+
+ // complete the request successfully
+ iConnMan.HandleToHost().HandleRequestCompleted( aReqId, KErrNone );
+
+ LOGGER ( TXT("Authorization::DoUnsubscribePresenceGrantRequestListL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoGrantPresenceForPresentityL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoGrantPresenceForPresentityL(
+ const MXIMPIdentity& aIdentity,
+ const MPresenceInfoFilter& aPif,
+ TXIMPRequestId aReqId )
+ {
+ LOGGER ( TXT("Authorization::DoGrantPresenceForPresentityL() Start") );
+ CreateDataHandlerL();
+
+ CPresenceAuthUserRequest* req =
+ CPresenceAuthUserRequest::NewLC( iConnMan, aReqId );
+
+
+ req->PresenceAuthUserRequestL(aIdentity,aPif);
+
+ CleanupStack::Pop( req );
+ LOGGER ( TXT("Authorization::DoGrantPresenceForPresentityL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUpdateGrantPresenceForPresentityL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoUpdatePresenceGrantPifForPresentityL(
+ const MXIMPIdentity&/*aIdentity*/,
+ const MPresenceInfoFilter &/*aPif*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoUpdatePresenceGrantPifForPresentityL() Start") );
+ LOGGER ( TXT("Authorization::DoUpdatePresenceGrantPifForPresentityL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUpdateGrantPresenceForPresentityGroupMembersL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoWithdrawPresenceGrantFromPresentityL(
+ const MXIMPIdentity &aIdentity,
+ TXIMPRequestId aReqId )
+ {
+ LOGGER ( TXT("Authorization::DoWithdrawPresenceGrantFromPresentityL() Start") );
+ CreateDataHandlerL();
+
+ CWithdrawPresenceGrantFromPresentityRequest* req =
+ CWithdrawPresenceGrantFromPresentityRequest::NewLC( iConnMan, aReqId );
+
+
+ req->WithdrawPresenceGrantFromPresentityL( aIdentity );
+
+ CleanupStack::Pop( req );
+
+
+ LOGGER ( TXT("Authorization::DoWithdrawPresenceGrantFromPresentityL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoGrantPresenceForPresentityGroupMembersL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoGrantPresenceForPresentityGroupMembersL(
+ const MXIMPIdentity&/*aIdentity*/,
+ const MPresenceInfoFilter& /*aPif*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoGrantPresenceForPresentityGroupMembersL() Start") );
+
+ LOGGER ( TXT("Authorization::DoGrantPresenceForPresentityGroupMembersL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUpdateGrantPresenceForPresentityGroupMembersL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoUpdatePresenceGrantPifForPresentityGroupMembersL(
+ const MXIMPIdentity&/*aIdentity*/,
+ const MPresenceInfoFilter&/*aPif*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("DoUpdatePresenceGrantPifForPresentityGroupMembersL() Start") );
+
+ LOGGER ( TXT("DoUpdatePresenceGrantPifForPresentityGroupMembersL() End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUpdateGrantPresenceForPresentityGroupMembersL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoWithdrawPresenceGrantFromPresentityGroupMembersL(
+ const MXIMPIdentity&/*aIdentity*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("DoWithdrawPresenceGrantFromPresentityGroupMembersL() Start") );
+
+ LOGGER ( TXT("DoWithdrawPresenceGrantFromPresentityGroupMembersL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoGrantPresenceForEveryoneL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoGrantPresenceForEveryoneL(
+ const MPresenceInfoFilter& /*aPif*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoGrantPresenceForEveryoneL() Start") );
+
+ LOGGER ( TXT("Authorization::DoGrantPresenceForEveryoneL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUpdatePresenceGrantPifForEveryoneL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoUpdatePresenceGrantPifForEveryoneL(
+ const MPresenceInfoFilter& /*aPif*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoUpdatePresenceGrantPifForEveryoneL() Start") );
+
+ LOGGER ( TXT("Authorization::DoUpdatePresenceGrantPifForEveryoneL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoWithdrawPresenceGrantFromEveryoneL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoWithdrawPresenceGrantFromEveryoneL(
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoWithdrawPresenceGrantFromEveryoneL() Start") );
+
+ LOGGER ( TXT("Authorization::DoWithdrawPresenceGrantFromEveryoneL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoSubscribePresenceBlockListL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoSubscribePresenceBlockListL(
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoSubscribePresenceBlockListL() Start") );
+
+ LOGGER ( TXT("Authorization::DoSubscribePresenceBlockListL() End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoUnsubscribePresenceBlockListL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoUnsubscribePresenceBlockListL(
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoUnsubscribePresenceBlockListL() Start") );
+ LOGGER ( TXT("Authorization::DoUnsubscribePresenceBlockListL() End") );
+ }
+
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoBlockPresenceForPresentityL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoBlockPresenceForPresentityL(
+ const MXIMPIdentity& /*aPresentityId*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoBlockPresenceForPresentityL() Start") );
+
+ LOGGER ( TXT("Authorization::DoBlockPresenceForPresentityL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::DoCancelPresenceBlockFromPresentityL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::DoCancelPresenceBlockFromPresentityL(
+ const MXIMPIdentity& /*aPresentityId*/,
+ TXIMPRequestId /*aReqId*/ )
+ {
+ LOGGER ( TXT("Authorization::DoCancelPresenceBlockFromPresentityL() Start") );
+
+ LOGGER ( TXT("Authorization::DoCancelPresenceBlockFromPresentityL() End") );
+ }
+
+// ---------------------------------------------------------------------------
+// COssProtocolPresenceAuthorization::CreateDataHandlerL()
+// ---------------------------------------------------------------------------
+//
+void COssProtocolPresenceAuthorization::CreateDataHandlerL()
+ {
+ LOGGER ( TXT("Authorization::CreateDataHandler() Start"));
+ iConnMan.ManufactureDataHandlerL();
+ LOGGER ( TXT("Authorization::CreateDataHandler() End"));
+ }
+
+
+// End of file
+