natfw/natfwclient/src/natfwconnectivityapi.cpp
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/natfw/natfwclient/src/natfwconnectivityapi.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,358 @@
+/*
+* 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:    API class to the NAT Connectivity FW
+*
+*/
+
+
+
+
+#include <e32base.h>
+#include "natfwconnectivityapi.h"
+#include "natfwcandidate.h"
+
+#include "natfwclient.h"
+#include "natfwcredentials.h"
+#include "natfwclientlogs.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CNATFWConnectivityApi
+// ---------------------------------------------------------------------------
+//
+CNATFWConnectivityApi::CNATFWConnectivityApi( )
+    {
+    __NATFWCLIENT("CNATFWConnectivityApi::CNATFWConnectivityApi")
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::ConstructL
+// ---------------------------------------------------------------------------
+//
+void CNATFWConnectivityApi::ConstructL()
+    {
+    __NATFWCLIENT("CNATFWConnectivityApi::ConstructL")
+
+    iClient = CNATFWClient::NewL();
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::NewL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CNATFWConnectivityApi* CNATFWConnectivityApi::NewL()
+    {
+    CNATFWConnectivityApi* self = CNATFWConnectivityApi::NewLC();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::NewLC
+// ---------------------------------------------------------------------------
+//
+EXPORT_C CNATFWConnectivityApi* CNATFWConnectivityApi::NewLC()
+    {
+    CNATFWConnectivityApi* self = new ( ELeave ) CNATFWConnectivityApi();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    return self;
+    }
+
+
+// ---------------------------------------------------------------------------
+// Default C++ destructor
+// ---------------------------------------------------------------------------
+//
+CNATFWConnectivityApi::~CNATFWConnectivityApi()
+    {
+    __NATFWCLIENT("CNATFWConnectivityApi::~CNATFWConnectivityApi")
+
+    delete iClient;
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::RegisterObserverForEventsL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::RegisterObserverForEventsL(
+        MNATFWConnectivityObserver& aObserver, TUint16 aEvents )
+    {
+    __NATFWCLIENT_INT1(
+        "CNATFWConnectivityApi::RegisterObserverForEventsL, EVENTS:", aEvents )
+
+    iClient->RegisterObserverForEventsL( aObserver, aEvents );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::UnregisterObserverForEventsL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::UnregisterObserverForEvents(
+        MNATFWConnectivityObserver& aObserver,
+        TUint16 aEvents )
+    {
+    __NATFWCLIENT_INT1(
+        "CNATFWConnectivityApi::UnregisterObserverForEvents, EVENTS:", aEvents )
+
+    iClient->UnregisterObserverForEvents( aObserver, aEvents );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CreateSessionL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TUint CNATFWConnectivityApi::CreateSessionL(
+        TUint32 aIapId, const TDesC8& aDomain )
+    {
+    __NATFWCLIENT_INT1("CNATFWConnectivityApi::CreateSessionL, IAPID:", aIapId )
+    __NATFWCLIENT_STR8(
+        "CNATFWConnectivityApi::CreateSessionL, DOMAIN:", aDomain )
+
+    return iClient->CreateSessionL( aIapId, aDomain );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::LoadPluginL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::LoadPluginL( TUint aSessionId,
+        const CDesC8Array& aPlugins, TInt& aLoadedPluginInd )
+    {
+    __NATFWCLIENT("CNATFWConnectivityApi::LoadPluginL")
+
+    iClient->LoadPluginL( aSessionId, aPlugins, aLoadedPluginInd );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CreateStreamL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C TUint CNATFWConnectivityApi::CreateStreamL( TUint aSessionId,
+        TUint aProtocol, TInt aQoS )
+    {
+    __NATFWCLIENT_INT3("CNATFWConnectivityApi::CreateStreamL, SESSION:",
+        aSessionId, "PROTOCOL:", aProtocol, "QOS:", aQoS )
+
+    return iClient->CreateStreamL( aSessionId, aProtocol, aQoS );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CreateWrapperL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C MNATFWSocketMediaConnWrapper& CNATFWConnectivityApi::CreateWrapperL(
+        TUint aSessionId, TUint aStreamId )
+    {
+    __NATFWCLIENT_INT2("CNATFWConnectivityApi::CreateWrapperL, SESSION:",
+        aSessionId, "STREAM", aStreamId )
+
+    return iClient->CreateWrapperL( aSessionId, aStreamId );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::FetchCandidateL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::FetchCandidateL(
+        TUint aSessionId, TUint aStreamId, TUint aAddrFamily )
+    {
+    __NATFWCLIENT_INT2("CNATFWConnectivityApi::FetchCandidateL, SESSION:",
+        aSessionId, "STREAM:", aStreamId )
+
+    iClient->FetchCandidateL( aSessionId, aStreamId, aAddrFamily );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::FetchCandidatesL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::FetchCandidatesL(
+        TUint aSessionId, TUint aStreamId,
+        TUint aCollectionId, TUint aComponentId,
+        TUint aAddrFamily )
+    {
+    __NATFWCLIENT_INT4("CNATFWConnectivityApi::FetchCandidatesL, SESSION:",
+        aSessionId, "STREAM:", aStreamId, "COLLECTION:",
+        aCollectionId, "COMPONENT", aComponentId )
+
+    iClient->FetchCandidatesL( aSessionId, aStreamId,
+        aCollectionId, aComponentId, aAddrFamily );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::SetRoleL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::SetRoleL(
+        TUint aSessionId, TNATFWIceRole aRole )
+    {
+    __NATFWCLIENT_INT2("CNATFWConnectivityApi::SetRoleL, SESSION:",
+        aSessionId, "MODE:", aRole )
+
+    iClient->SetRoleL( aSessionId, aRole );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::SetCredentialsL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::SetCredentialsL(
+        CNATFWCandidate& aCandidate,
+        const CNATFWCredentials& aCredentials )
+    {
+    __NATFWCLIENT_INT2("CNATFWConnectivityApi::SetCredentialsL, SESSION:",
+        aCandidate.SessionId(), "STREAM:", aCandidate.StreamId() )
+
+    iClient->SetCredentialsL( aCandidate, aCredentials );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::PerformConnectivityChecksL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::PerformConnectivityChecksL(
+        TUint aSessionId, RPointerArray<CNATFWCandidate>& aRemoteCands )
+    {
+    __NATFWCLIENT_INT1(
+        "CNATFWConnectivityApi::PerformConnectivityChecksL, SESSION:",
+        aSessionId )
+
+    iClient->PerformConnectivityChecksL( aSessionId, aRemoteCands );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::UpdateIceProcessingL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::UpdateIceProcessingL( TUint aSessionId,
+        RPointerArray<CNATFWCandidatePair>& aPeerSelectedPairs )
+    {
+    __NATFWCLIENT_INT1(
+        "CNATFWConnectivityApi::UpdateIceProcessingL with PAIRS, SESSION:",
+        aSessionId )
+
+    iClient->UpdateIceProcessingL( aSessionId, aPeerSelectedPairs );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::UpdateIceProcessingL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::UpdateIceProcessingL( TUint aSessionId,
+        RPointerArray<CNATFWCandidate>& aRemoteCands )
+    {
+    __NATFWCLIENT_INT1(
+    "CNATFWConnectivityApi::UpdateIceProcessingL with REMOTECANDS, SESSION:",
+        aSessionId )
+
+    iClient->UpdateIceProcessingL( aSessionId, aRemoteCands );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::SetReceivingStateL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::SetReceivingStateL(
+    const CNATFWCandidate& aLocalCandidate,
+    TNATFWStreamingState aState )
+    {
+    __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetReceivingStateL, SESSION:",
+        aLocalCandidate.SessionId(), 
+        "STREAM:", aLocalCandidate.StreamId(), 
+        "STATE:", aState )
+
+    iClient->SetReceivingStateL( aLocalCandidate, aState );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::SetSendingStateL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::SetSendingStateL(
+    const CNATFWCandidate& aLocalCandidate,
+    TNATFWStreamingState aState, const TInetAddr& aDestAddr )
+    {
+    __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetSendingStateL, SESSION:",
+        aLocalCandidate.SessionId(), 
+        "STREAM:", aLocalCandidate.StreamId(), 
+        "STATE:", aState )
+    __NATFWCLIENT_ADDR( "CNATFWConnectivityApi::SetSendingStateL, ADDRESS",
+        aDestAddr )
+
+    iClient->SetSendingStateL( aLocalCandidate, aState, aDestAddr );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::SetSendingStateL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::SetSendingStateL(
+        const CNATFWCandidate& aLocalCandidate,
+        TNATFWStreamingState aState, const TDesC8& aDestAddr, TUint aPort )
+    {
+    __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetSendingStateL, SESSION:",
+        aLocalCandidate.SessionId(), 
+        "STREAM:", aLocalCandidate.StreamId(), 
+        "STATE:", aState )
+
+    iClient->SetSendingStateL( aLocalCandidate, aState, aDestAddr, aPort );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CloseStreamL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::CloseStreamL(
+        TUint aSessionId, TUint aStreamId )
+    {
+    __NATFWCLIENT_INT2("CNATFWConnectivityApi::CloseStreamL, SESSION:",
+        aSessionId, "STREAM:", aStreamId )
+
+    iClient->CloseStreamL( aSessionId, aStreamId );
+    }
+
+
+// ---------------------------------------------------------------------------
+// CNATFWConnectivityApi::CloseSessionL
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CNATFWConnectivityApi::CloseSessionL( TUint aSessionId )
+    {
+    __NATFWCLIENT_INT1(
+        "CNATFWConnectivityApi::CloseSessionL, SESSION:", aSessionId )
+
+    iClient->CloseSessionL( aSessionId );
+    }