natfw/natfwclient/src/natfwconnectivityapi.cpp
changeset 0 1bce908db942
equal deleted inserted replaced
-1:000000000000 0:1bce908db942
       
     1 /*
       
     2 * Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    API class to the NAT Connectivity FW
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #include <e32base.h>
       
    22 #include "natfwconnectivityapi.h"
       
    23 #include "natfwcandidate.h"
       
    24 
       
    25 #include "natfwclient.h"
       
    26 #include "natfwcredentials.h"
       
    27 #include "natfwclientlogs.h"
       
    28 
       
    29 // ======== MEMBER FUNCTIONS ========
       
    30 
       
    31 // ---------------------------------------------------------------------------
       
    32 // CNATFWConnectivityApi::CNATFWConnectivityApi
       
    33 // ---------------------------------------------------------------------------
       
    34 //
       
    35 CNATFWConnectivityApi::CNATFWConnectivityApi( )
       
    36     {
       
    37     __NATFWCLIENT("CNATFWConnectivityApi::CNATFWConnectivityApi")
       
    38     }
       
    39 
       
    40 
       
    41 // ---------------------------------------------------------------------------
       
    42 // CNATFWConnectivityApi::ConstructL
       
    43 // ---------------------------------------------------------------------------
       
    44 //
       
    45 void CNATFWConnectivityApi::ConstructL()
       
    46     {
       
    47     __NATFWCLIENT("CNATFWConnectivityApi::ConstructL")
       
    48 
       
    49     iClient = CNATFWClient::NewL();
       
    50     }
       
    51 
       
    52 
       
    53 // ---------------------------------------------------------------------------
       
    54 // CNATFWConnectivityApi::NewL
       
    55 // ---------------------------------------------------------------------------
       
    56 //
       
    57 EXPORT_C CNATFWConnectivityApi* CNATFWConnectivityApi::NewL()
       
    58     {
       
    59     CNATFWConnectivityApi* self = CNATFWConnectivityApi::NewLC();
       
    60     CleanupStack::Pop( self );
       
    61     return self;
       
    62     }
       
    63 
       
    64 
       
    65 // ---------------------------------------------------------------------------
       
    66 // CNATFWConnectivityApi::NewLC
       
    67 // ---------------------------------------------------------------------------
       
    68 //
       
    69 EXPORT_C CNATFWConnectivityApi* CNATFWConnectivityApi::NewLC()
       
    70     {
       
    71     CNATFWConnectivityApi* self = new ( ELeave ) CNATFWConnectivityApi();
       
    72     CleanupStack::PushL( self );
       
    73     self->ConstructL();
       
    74     return self;
       
    75     }
       
    76 
       
    77 
       
    78 // ---------------------------------------------------------------------------
       
    79 // Default C++ destructor
       
    80 // ---------------------------------------------------------------------------
       
    81 //
       
    82 CNATFWConnectivityApi::~CNATFWConnectivityApi()
       
    83     {
       
    84     __NATFWCLIENT("CNATFWConnectivityApi::~CNATFWConnectivityApi")
       
    85 
       
    86     delete iClient;
       
    87     }
       
    88 
       
    89 
       
    90 // ---------------------------------------------------------------------------
       
    91 // CNATFWConnectivityApi::RegisterObserverForEventsL
       
    92 // ---------------------------------------------------------------------------
       
    93 //
       
    94 EXPORT_C void CNATFWConnectivityApi::RegisterObserverForEventsL(
       
    95         MNATFWConnectivityObserver& aObserver, TUint16 aEvents )
       
    96     {
       
    97     __NATFWCLIENT_INT1(
       
    98         "CNATFWConnectivityApi::RegisterObserverForEventsL, EVENTS:", aEvents )
       
    99 
       
   100     iClient->RegisterObserverForEventsL( aObserver, aEvents );
       
   101     }
       
   102 
       
   103 
       
   104 // ---------------------------------------------------------------------------
       
   105 // CNATFWConnectivityApi::UnregisterObserverForEventsL
       
   106 // ---------------------------------------------------------------------------
       
   107 //
       
   108 EXPORT_C void CNATFWConnectivityApi::UnregisterObserverForEvents(
       
   109         MNATFWConnectivityObserver& aObserver,
       
   110         TUint16 aEvents )
       
   111     {
       
   112     __NATFWCLIENT_INT1(
       
   113         "CNATFWConnectivityApi::UnregisterObserverForEvents, EVENTS:", aEvents )
       
   114 
       
   115     iClient->UnregisterObserverForEvents( aObserver, aEvents );
       
   116     }
       
   117 
       
   118 
       
   119 // ---------------------------------------------------------------------------
       
   120 // CNATFWConnectivityApi::CreateSessionL
       
   121 // ---------------------------------------------------------------------------
       
   122 //
       
   123 EXPORT_C TUint CNATFWConnectivityApi::CreateSessionL(
       
   124         TUint32 aIapId, const TDesC8& aDomain )
       
   125     {
       
   126     __NATFWCLIENT_INT1("CNATFWConnectivityApi::CreateSessionL, IAPID:", aIapId )
       
   127     __NATFWCLIENT_STR8(
       
   128         "CNATFWConnectivityApi::CreateSessionL, DOMAIN:", aDomain )
       
   129 
       
   130     return iClient->CreateSessionL( aIapId, aDomain );
       
   131     }
       
   132 
       
   133 
       
   134 // ---------------------------------------------------------------------------
       
   135 // CNATFWConnectivityApi::LoadPluginL
       
   136 // ---------------------------------------------------------------------------
       
   137 //
       
   138 EXPORT_C void CNATFWConnectivityApi::LoadPluginL( TUint aSessionId,
       
   139         const CDesC8Array& aPlugins, TInt& aLoadedPluginInd )
       
   140     {
       
   141     __NATFWCLIENT("CNATFWConnectivityApi::LoadPluginL")
       
   142 
       
   143     iClient->LoadPluginL( aSessionId, aPlugins, aLoadedPluginInd );
       
   144     }
       
   145 
       
   146 
       
   147 // ---------------------------------------------------------------------------
       
   148 // CNATFWConnectivityApi::CreateStreamL
       
   149 // ---------------------------------------------------------------------------
       
   150 //
       
   151 EXPORT_C TUint CNATFWConnectivityApi::CreateStreamL( TUint aSessionId,
       
   152         TUint aProtocol, TInt aQoS )
       
   153     {
       
   154     __NATFWCLIENT_INT3("CNATFWConnectivityApi::CreateStreamL, SESSION:",
       
   155         aSessionId, "PROTOCOL:", aProtocol, "QOS:", aQoS )
       
   156 
       
   157     return iClient->CreateStreamL( aSessionId, aProtocol, aQoS );
       
   158     }
       
   159 
       
   160 
       
   161 // ---------------------------------------------------------------------------
       
   162 // CNATFWConnectivityApi::CreateWrapperL
       
   163 // ---------------------------------------------------------------------------
       
   164 //
       
   165 EXPORT_C MNATFWSocketMediaConnWrapper& CNATFWConnectivityApi::CreateWrapperL(
       
   166         TUint aSessionId, TUint aStreamId )
       
   167     {
       
   168     __NATFWCLIENT_INT2("CNATFWConnectivityApi::CreateWrapperL, SESSION:",
       
   169         aSessionId, "STREAM", aStreamId )
       
   170 
       
   171     return iClient->CreateWrapperL( aSessionId, aStreamId );
       
   172     }
       
   173 
       
   174 
       
   175 // ---------------------------------------------------------------------------
       
   176 // CNATFWConnectivityApi::FetchCandidateL
       
   177 // ---------------------------------------------------------------------------
       
   178 //
       
   179 EXPORT_C void CNATFWConnectivityApi::FetchCandidateL(
       
   180         TUint aSessionId, TUint aStreamId, TUint aAddrFamily )
       
   181     {
       
   182     __NATFWCLIENT_INT2("CNATFWConnectivityApi::FetchCandidateL, SESSION:",
       
   183         aSessionId, "STREAM:", aStreamId )
       
   184 
       
   185     iClient->FetchCandidateL( aSessionId, aStreamId, aAddrFamily );
       
   186     }
       
   187 
       
   188 
       
   189 // ---------------------------------------------------------------------------
       
   190 // CNATFWConnectivityApi::FetchCandidatesL
       
   191 // ---------------------------------------------------------------------------
       
   192 //
       
   193 EXPORT_C void CNATFWConnectivityApi::FetchCandidatesL(
       
   194         TUint aSessionId, TUint aStreamId,
       
   195         TUint aCollectionId, TUint aComponentId,
       
   196         TUint aAddrFamily )
       
   197     {
       
   198     __NATFWCLIENT_INT4("CNATFWConnectivityApi::FetchCandidatesL, SESSION:",
       
   199         aSessionId, "STREAM:", aStreamId, "COLLECTION:",
       
   200         aCollectionId, "COMPONENT", aComponentId )
       
   201 
       
   202     iClient->FetchCandidatesL( aSessionId, aStreamId,
       
   203         aCollectionId, aComponentId, aAddrFamily );
       
   204     }
       
   205 
       
   206 
       
   207 // ---------------------------------------------------------------------------
       
   208 // CNATFWConnectivityApi::SetRoleL
       
   209 // ---------------------------------------------------------------------------
       
   210 //
       
   211 EXPORT_C void CNATFWConnectivityApi::SetRoleL(
       
   212         TUint aSessionId, TNATFWIceRole aRole )
       
   213     {
       
   214     __NATFWCLIENT_INT2("CNATFWConnectivityApi::SetRoleL, SESSION:",
       
   215         aSessionId, "MODE:", aRole )
       
   216 
       
   217     iClient->SetRoleL( aSessionId, aRole );
       
   218     }
       
   219 
       
   220 
       
   221 // ---------------------------------------------------------------------------
       
   222 // CNATFWConnectivityApi::SetCredentialsL
       
   223 // ---------------------------------------------------------------------------
       
   224 //
       
   225 EXPORT_C void CNATFWConnectivityApi::SetCredentialsL(
       
   226         CNATFWCandidate& aCandidate,
       
   227         const CNATFWCredentials& aCredentials )
       
   228     {
       
   229     __NATFWCLIENT_INT2("CNATFWConnectivityApi::SetCredentialsL, SESSION:",
       
   230         aCandidate.SessionId(), "STREAM:", aCandidate.StreamId() )
       
   231 
       
   232     iClient->SetCredentialsL( aCandidate, aCredentials );
       
   233     }
       
   234 
       
   235 
       
   236 // ---------------------------------------------------------------------------
       
   237 // CNATFWConnectivityApi::PerformConnectivityChecksL
       
   238 // ---------------------------------------------------------------------------
       
   239 //
       
   240 EXPORT_C void CNATFWConnectivityApi::PerformConnectivityChecksL(
       
   241         TUint aSessionId, RPointerArray<CNATFWCandidate>& aRemoteCands )
       
   242     {
       
   243     __NATFWCLIENT_INT1(
       
   244         "CNATFWConnectivityApi::PerformConnectivityChecksL, SESSION:",
       
   245         aSessionId )
       
   246 
       
   247     iClient->PerformConnectivityChecksL( aSessionId, aRemoteCands );
       
   248     }
       
   249 
       
   250 
       
   251 // ---------------------------------------------------------------------------
       
   252 // CNATFWConnectivityApi::UpdateIceProcessingL
       
   253 // ---------------------------------------------------------------------------
       
   254 //
       
   255 EXPORT_C void CNATFWConnectivityApi::UpdateIceProcessingL( TUint aSessionId,
       
   256         RPointerArray<CNATFWCandidatePair>& aPeerSelectedPairs )
       
   257     {
       
   258     __NATFWCLIENT_INT1(
       
   259         "CNATFWConnectivityApi::UpdateIceProcessingL with PAIRS, SESSION:",
       
   260         aSessionId )
       
   261 
       
   262     iClient->UpdateIceProcessingL( aSessionId, aPeerSelectedPairs );
       
   263     }
       
   264 
       
   265 
       
   266 // ---------------------------------------------------------------------------
       
   267 // CNATFWConnectivityApi::UpdateIceProcessingL
       
   268 // ---------------------------------------------------------------------------
       
   269 //
       
   270 EXPORT_C void CNATFWConnectivityApi::UpdateIceProcessingL( TUint aSessionId,
       
   271         RPointerArray<CNATFWCandidate>& aRemoteCands )
       
   272     {
       
   273     __NATFWCLIENT_INT1(
       
   274     "CNATFWConnectivityApi::UpdateIceProcessingL with REMOTECANDS, SESSION:",
       
   275         aSessionId )
       
   276 
       
   277     iClient->UpdateIceProcessingL( aSessionId, aRemoteCands );
       
   278     }
       
   279 
       
   280 
       
   281 // ---------------------------------------------------------------------------
       
   282 // CNATFWConnectivityApi::SetReceivingStateL
       
   283 // ---------------------------------------------------------------------------
       
   284 //
       
   285 EXPORT_C void CNATFWConnectivityApi::SetReceivingStateL(
       
   286     const CNATFWCandidate& aLocalCandidate,
       
   287     TNATFWStreamingState aState )
       
   288     {
       
   289     __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetReceivingStateL, SESSION:",
       
   290         aLocalCandidate.SessionId(), 
       
   291         "STREAM:", aLocalCandidate.StreamId(), 
       
   292         "STATE:", aState )
       
   293 
       
   294     iClient->SetReceivingStateL( aLocalCandidate, aState );
       
   295     }
       
   296 
       
   297 
       
   298 // ---------------------------------------------------------------------------
       
   299 // CNATFWConnectivityApi::SetSendingStateL
       
   300 // ---------------------------------------------------------------------------
       
   301 //
       
   302 EXPORT_C void CNATFWConnectivityApi::SetSendingStateL(
       
   303     const CNATFWCandidate& aLocalCandidate,
       
   304     TNATFWStreamingState aState, const TInetAddr& aDestAddr )
       
   305     {
       
   306     __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetSendingStateL, SESSION:",
       
   307         aLocalCandidate.SessionId(), 
       
   308         "STREAM:", aLocalCandidate.StreamId(), 
       
   309         "STATE:", aState )
       
   310     __NATFWCLIENT_ADDR( "CNATFWConnectivityApi::SetSendingStateL, ADDRESS",
       
   311         aDestAddr )
       
   312 
       
   313     iClient->SetSendingStateL( aLocalCandidate, aState, aDestAddr );
       
   314     }
       
   315 
       
   316 
       
   317 // ---------------------------------------------------------------------------
       
   318 // CNATFWConnectivityApi::SetSendingStateL
       
   319 // ---------------------------------------------------------------------------
       
   320 //
       
   321 EXPORT_C void CNATFWConnectivityApi::SetSendingStateL(
       
   322         const CNATFWCandidate& aLocalCandidate,
       
   323         TNATFWStreamingState aState, const TDesC8& aDestAddr, TUint aPort )
       
   324     {
       
   325     __NATFWCLIENT_INT3("CNATFWConnectivityApi::SetSendingStateL, SESSION:",
       
   326         aLocalCandidate.SessionId(), 
       
   327         "STREAM:", aLocalCandidate.StreamId(), 
       
   328         "STATE:", aState )
       
   329 
       
   330     iClient->SetSendingStateL( aLocalCandidate, aState, aDestAddr, aPort );
       
   331     }
       
   332 
       
   333 
       
   334 // ---------------------------------------------------------------------------
       
   335 // CNATFWConnectivityApi::CloseStreamL
       
   336 // ---------------------------------------------------------------------------
       
   337 //
       
   338 EXPORT_C void CNATFWConnectivityApi::CloseStreamL(
       
   339         TUint aSessionId, TUint aStreamId )
       
   340     {
       
   341     __NATFWCLIENT_INT2("CNATFWConnectivityApi::CloseStreamL, SESSION:",
       
   342         aSessionId, "STREAM:", aStreamId )
       
   343 
       
   344     iClient->CloseStreamL( aSessionId, aStreamId );
       
   345     }
       
   346 
       
   347 
       
   348 // ---------------------------------------------------------------------------
       
   349 // CNATFWConnectivityApi::CloseSessionL
       
   350 // ---------------------------------------------------------------------------
       
   351 //
       
   352 EXPORT_C void CNATFWConnectivityApi::CloseSessionL( TUint aSessionId )
       
   353     {
       
   354     __NATFWCLIENT_INT1(
       
   355         "CNATFWConnectivityApi::CloseSessionL, SESSION:", aSessionId )
       
   356 
       
   357     iClient->CloseSessionL( aSessionId );
       
   358     }