upnpavcontroller/upnpavcontrollerserver/src/upnpavcontrollersession.cpp
changeset 0 7f85d04be362
equal deleted inserted replaced
-1:000000000000 0:7f85d04be362
       
     1 /*
       
     2 * Copyright (c) 2002-2004 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:      implementation of a server session
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 // INCLUDE FILES
       
    24 #include "upnpavcontrollersession.h"
       
    25 #include "upnpavcontrollerserver.pan"
       
    26 
       
    27 #include "upnpavcontrollerserver.h"
       
    28 #include "upnpavcontrollerimpl.h"
       
    29 
       
    30 _LIT( KComponentLogfile, "upnpavcontrollerserver.txt");
       
    31 #include "upnplog.h"
       
    32 
       
    33 // ================= MEMBER FUNCTIONS =======================
       
    34 
       
    35 // --------------------------------------------------------------------------
       
    36 // CUpnpAVControllerSession::CUpnpAVControllerSession
       
    37 // C++ default constructor can NOT contain any code, that
       
    38 // might leave.
       
    39 // --------------------------------------------------------------------------
       
    40 //
       
    41 CUpnpAVControllerSession::CUpnpAVControllerSession(
       
    42     CUpnpAVControllerServer& aServer):
       
    43     CSession2(),
       
    44     iAVControllerServer( aServer )
       
    45     {
       
    46     }
       
    47 
       
    48 // --------------------------------------------------------------------------
       
    49 // CUpnpAVControllerSession::ConstructL
       
    50 // Symbian 2nd phase constructor can leave.
       
    51 // --------------------------------------------------------------------------
       
    52 //
       
    53 void CUpnpAVControllerSession::ConstructL()
       
    54     {
       
    55     __LOG( "CUpnpAVControllerSession::ConstructL" );
       
    56     
       
    57     iAVControllerServer.IncrementSessions();
       
    58     
       
    59     iAVController = CUPnPAVControllerImpl::NewL
       
    60         (
       
    61         iAVControllerServer.MediaServer(),
       
    62         iAVControllerServer
       
    63         );
       
    64     }
       
    65 
       
    66 // --------------------------------------------------------------------------
       
    67 // CUpnpAVControllerSession::~CUpnpAVControllerSession
       
    68 // Destructor.
       
    69 // --------------------------------------------------------------------------
       
    70 //
       
    71 CUpnpAVControllerSession::~CUpnpAVControllerSession()
       
    72     {
       
    73     iAVControllerServer.DecrementSessions();        
       
    74     
       
    75     delete iAVController;
       
    76     
       
    77     }
       
    78 
       
    79 // --------------------------------------------------------------------------
       
    80 // CUpnpAVControllerSession::ServiceL
       
    81 // Handle client requests.
       
    82 // --------------------------------------------------------------------------
       
    83 //
       
    84 void CUpnpAVControllerSession::ServiceL( const RMessage2& aMessage )
       
    85     {   
       
    86          
       
    87     switch ( aMessage.Function() )
       
    88         {
       
    89         case EAVControllerStartupRequest:
       
    90             iAVControllerServer.StartUpL();
       
    91             aMessage.Complete( KErrNone );
       
    92             break;
       
    93         
       
    94         case EAVControllerCancelStartupRequest:
       
    95             iAVControllerServer.CancelStartUp();
       
    96             aMessage.Complete( KErrNone );
       
    97             break;        
       
    98         
       
    99         case EAVControllerDeviceRequest:           
       
   100             iAVController->EnableDeviceDiscoveryL( aMessage );
       
   101             break;
       
   102             
       
   103         case EAVControllerGetDeviceRequest:
       
   104             iAVController->GetDeviceL( aMessage );
       
   105             break;                      
       
   106 
       
   107         case EAVControllerCancelDeviceRequest:
       
   108             iAVController->DisableDeviceDiscoveryL();
       
   109             aMessage.Complete( KErrNone );
       
   110             break;                      
       
   111         
       
   112         case EAVControllerGetDeviceListSizeRequest:
       
   113             iAVController->GetDeviceListSizeL( aMessage );
       
   114             break;
       
   115 
       
   116         case EAVControllerGetDeviceListRequest:
       
   117             iAVController->GetDeviceListL( aMessage );
       
   118             break;
       
   119 
       
   120         case EAVControllerCreateRenderingSession:
       
   121             iAVController->CreateRenderingSessionL( aMessage );
       
   122             break;
       
   123 
       
   124         case EAVControllerDestroyRenderingSession:
       
   125             iAVController->DestroyRenderingSessionL( aMessage );
       
   126             break;
       
   127             
       
   128         case EAVControllerEventRequest:
       
   129             iAVController->EventRequestL( aMessage );
       
   130             break;
       
   131             
       
   132         case EAVControllerCancelEventRequest:
       
   133             iAVController->CancelEventRequestL( aMessage );
       
   134             break;
       
   135 
       
   136         case EAVControllerSetURI:
       
   137             iAVController->SetURIL( aMessage );
       
   138             break;
       
   139             
       
   140         case EAVControllerCancelSetURI:
       
   141             iAVController->CancelSetURIL( aMessage );
       
   142             break;
       
   143     
       
   144         case EAVControllerSetNextURI:
       
   145             iAVController->SetNextURIL( aMessage );
       
   146             break;
       
   147             
       
   148         case EAVControllerCancelSetNextURI:
       
   149             iAVController->CancelSetNextURIL( aMessage );
       
   150             break;
       
   151 
       
   152         case EAVControllerPlay:
       
   153             iAVController->PlayL( aMessage );
       
   154             break;
       
   155     
       
   156         case EAVControllerCancelPlay:
       
   157             iAVController->CancelPlayL( aMessage );
       
   158             break;
       
   159             
       
   160         case EAVControllerStop:
       
   161             iAVController->StopL( aMessage );
       
   162             break;
       
   163     
       
   164         case EAVControllerCancelStop:
       
   165             iAVController->CancelStopL( aMessage );
       
   166             break;
       
   167             
       
   168         case EAVControllerPause:
       
   169             iAVController->PauseL( aMessage );
       
   170             break;
       
   171             
       
   172         case EAVControllerCancelPause:
       
   173             iAVController->CancelPauseL( aMessage );
       
   174             break;
       
   175     
       
   176         case EAVControllerSetVolume:
       
   177             iAVController->SetVolumeL( aMessage );
       
   178             break;
       
   179 
       
   180         case EAVControllerCancelSetVolume:
       
   181             iAVController->CancelSetVolumeL( aMessage );
       
   182             break;
       
   183     
       
   184         case EAVControllerGetVolume:
       
   185             iAVController->GetVolumeL( aMessage );
       
   186             break;
       
   187     
       
   188         case EAVControllerCancelGetVolume:
       
   189             iAVController->CancelGetVolumeL( aMessage );
       
   190             break;
       
   191     
       
   192         case EAVControllerSetMute:
       
   193             iAVController->SetMuteL( aMessage );
       
   194             break;
       
   195 
       
   196         case EAVControllerCancelSetMute:
       
   197             iAVController->CancelSetMuteL( aMessage );
       
   198             break;
       
   199     
       
   200         case EAVControllerGetMute:
       
   201             iAVController->GetMuteL( aMessage );
       
   202             break;
       
   203             
       
   204         case EAVControllerCancelGetMute:
       
   205             iAVController->CancelGetMuteL( aMessage );
       
   206             break;
       
   207             
       
   208         case EAVControllerGetPositionInfo:
       
   209             iAVController->GetPositionInfoL( aMessage );
       
   210             break;
       
   211             
       
   212         case EAVControllerCancelGetPositionInfo:
       
   213             iAVController->CancelGetPositionInfoL( aMessage );
       
   214             break;
       
   215             
       
   216         case EAVControllerCreateBrowsingSession:
       
   217             iAVController->CreateBrowsingSessionL( aMessage );
       
   218             break;
       
   219             
       
   220         case EAVControllerDestroyBrowsingSession:
       
   221             iAVController->DestroyBrowsingSessionL( aMessage );
       
   222             break;
       
   223 
       
   224         case EAVControllerGetBrowseResponseSize:
       
   225             iAVController->GetBrowseResponseSizeL( aMessage );
       
   226             break;
       
   227         
       
   228         case EAVControllerCancelGetBrowseResponseSize:
       
   229             iAVController->CancelGetBrowseResponseSizeL( aMessage );
       
   230             break;
       
   231         
       
   232         case EAVControllerGetBrowseResponse:
       
   233             iAVController->GetBrowseResponseL( aMessage );
       
   234             break;
       
   235                     
       
   236         case EAVControllerGetSearchResponseSize:
       
   237             iAVController->GetSearchResponseSizeL( aMessage );
       
   238             break;
       
   239             
       
   240         case EAVControllerCancelGetSearchResponseSize:
       
   241             iAVController->CancelGetSearchResponseSizeL( aMessage );
       
   242             break;
       
   243         
       
   244         case EAVControllerGetSearchResponse:
       
   245             iAVController->GetSearchResponseL( aMessage );
       
   246             break;
       
   247                     
       
   248         case EAVControllerGetSearchCapabilitiesSize:
       
   249             iAVController->GetSearchCapabitiesSizeL( aMessage );
       
   250             break;    
       
   251                             
       
   252         case EAVControllerCancelGetSearchCapabilitiesSize:
       
   253             iAVController->CancelGetSearchCapabitiesSizeL( aMessage );
       
   254             break;
       
   255             
       
   256         case EAVControllerGetSearchCapabilities:
       
   257             iAVController->GetSearchCapabitiesL( aMessage );
       
   258             break;
       
   259 
       
   260         case EAVControllerCreateContainer:
       
   261             iAVController->CreateContainerL( aMessage );
       
   262             break;
       
   263         
       
   264         case EAVControllerCancelCreateContainer:
       
   265             iAVController->CancelCreateContainerL( aMessage );
       
   266             break;  
       
   267 
       
   268         case EAVControllerDeleteObject:
       
   269             iAVController->DeleteObjectL( aMessage );
       
   270             break;
       
   271             
       
   272         case EAVControllerCancelDeleteObject:
       
   273             iAVController->CancelDeleteObjectL( aMessage );
       
   274             break;
       
   275             
       
   276         case EAVControllerDeviceDisappearedRequest:
       
   277             iAVController->DeviceDisappearedRequestL( aMessage );
       
   278             break;
       
   279             
       
   280         case EAVControllerCancelDeviceDisappearedRequest:
       
   281             iAVController->CancelDeviceDisappearedRequestL( aMessage );
       
   282             break;              
       
   283 
       
   284         case EAVControllerStartMediaServer:
       
   285             iAVControllerServer.StartMediaServerL( aMessage );
       
   286             break;
       
   287             
       
   288         case EAVControllerCancelStartMediaServer:
       
   289             iAVControllerServer.CancelStartMediaServerL( aMessage );
       
   290             break;
       
   291 
       
   292         case EAVControllerStopMediaServer:
       
   293             iAVControllerServer.StopMediaServerL( aMessage );
       
   294             break;
       
   295             
       
   296         case EAVControllerMonitorConnection:
       
   297             iAVController->MonitorConnectionL( aMessage );
       
   298             break;
       
   299 
       
   300         case EAVControllerCancelMonitorConnection:
       
   301             iAVController->CancelMonitorConnectionL( aMessage );
       
   302             break;
       
   303         
       
   304         case EAVControllerMSServicesInUse:
       
   305             iAVControllerServer.MSServicesInUse( aMessage );
       
   306             break;
       
   307             
       
   308         case EAVControllerCreateDownloadSession:
       
   309             iAVController->CreateDownloadSessionL( aMessage );
       
   310             break;
       
   311             
       
   312         case EAVControllerCreateUploadSession:
       
   313             iAVController->CreateUploadSessionL( aMessage );       
       
   314             break;
       
   315         
       
   316         case EAVControllerDestroyDownloadSession:
       
   317             iAVController->DestroyDownloadSessionL( aMessage );
       
   318             break;
       
   319         
       
   320         case EAVControllerDestroyUploadSession:
       
   321             iAVController->DestroyUploadSessionL( aMessage );
       
   322             break;
       
   323         
       
   324         case EAVControllerStartDownload:
       
   325             iAVController->StartDownloadL( aMessage );
       
   326             break;
       
   327         
       
   328         case EAVControllerCancelDownload:
       
   329             iAVController->CancelDownloadL( aMessage );
       
   330             break;
       
   331         
       
   332         case EAVControllerCancelAllDownloads:
       
   333             iAVController->CancelAllDownloadsL( aMessage );
       
   334             break;
       
   335         
       
   336         case EAVControllerStartUpload:
       
   337             iAVController->StartUploadL( aMessage );
       
   338             break;
       
   339         
       
   340         case EAVControllerCancelUpload:
       
   341             iAVController->CancelUploadL( aMessage );
       
   342             break;
       
   343         
       
   344         case EAVControllerCancelAllUploads:
       
   345             iAVController->CancelAllUploadsL( aMessage );
       
   346             break;
       
   347         
       
   348         case EAVControllerStartTrackingUploadProgress:
       
   349             iAVController->StartTrackingUploadProgressL( aMessage );
       
   350             break;
       
   351         
       
   352         case EAVControllerStartTrackingDownloadProgress:
       
   353             iAVController->StartTrackingDownloadProgressL( aMessage );
       
   354             break;
       
   355         
       
   356         case EAVControllerGetDownloadEvent:
       
   357             iAVController->GetDownloadEventL( aMessage );
       
   358             break;
       
   359         
       
   360         case EAVControllerCancelDownloadEvent:
       
   361             iAVController->CancelGetDownloadEventL( aMessage );
       
   362             break;
       
   363         
       
   364         case EAVControllerGetUploadEvent:
       
   365             iAVController->GetUploadEventL( aMessage );
       
   366             break;
       
   367         
       
   368         case EAVControllerCancelUploadEvent:
       
   369             iAVController->CancelGetUploadEventL( aMessage );
       
   370             break;
       
   371         
       
   372         case EAVControllerStartDownloadFH:
       
   373             iAVController->StartDownloadFHL( aMessage );
       
   374             break;
       
   375 
       
   376         default:
       
   377             PanicClient( aMessage, EAVControllerServerBadRequest );
       
   378             break;
       
   379         }
       
   380     }
       
   381 
       
   382 
       
   383 void CUpnpAVControllerSession::DeviceDiscoveredL(
       
   384     CUpnpAVDeviceExtended& aDevice )
       
   385     {
       
   386     iAVController->DeviceDiscoveredL( aDevice );
       
   387     }
       
   388 
       
   389  
       
   390 void CUpnpAVControllerSession::DeviceDisappearedL(
       
   391     CUpnpAVDeviceExtended& aDevice )
       
   392     {
       
   393     iAVController->DeviceDisappearedL( aDevice );
       
   394     }
       
   395 
       
   396 
       
   397 void CUpnpAVControllerSession::ConnectionLost()
       
   398     {
       
   399     iAVController->ConnectionLost();
       
   400     }
       
   401 
       
   402 // --------------------------------------------------------------------------
       
   403 // CUpnpAVControllerSession::PanicClient
       
   404 // Panic client.
       
   405 // --------------------------------------------------------------------------
       
   406 //
       
   407 void CUpnpAVControllerSession::PanicClient( const RMessage2 &aMessage,
       
   408     TInt aPanic ) const
       
   409     {
       
   410      // Note: this panics the client thread, not server
       
   411     aMessage.Panic( KAVControllerName, aPanic );
       
   412     }
       
   413 // --------------------------------------------------------------------------
       
   414 // CUpnpAVControllerSession::NewL
       
   415 // Two-phased constructor.
       
   416 // --------------------------------------------------------------------------
       
   417 //
       
   418 CUpnpAVControllerSession* CUpnpAVControllerSession::NewL(
       
   419     CUpnpAVControllerServer& aServer )
       
   420     {
       
   421     CUpnpAVControllerSession* self =
       
   422         CUpnpAVControllerSession::NewLC(aServer); 
       
   423     CleanupStack::Pop( self ) ;
       
   424     return self ;
       
   425     }
       
   426 
       
   427 // --------------------------------------------------------------------------
       
   428 // CUpnpAVControllerSession::NewLC
       
   429 // Two-phased constructor.
       
   430 // --------------------------------------------------------------------------
       
   431 //
       
   432 CUpnpAVControllerSession* CUpnpAVControllerSession::NewLC( 
       
   433     CUpnpAVControllerServer& aServer )
       
   434     {
       
   435     CUpnpAVControllerSession* self =
       
   436         new (ELeave) CUpnpAVControllerSession(aServer);
       
   437     CleanupStack::PushL( self );
       
   438     self->ConstructL() ;
       
   439     return self ;
       
   440     }
       
   441 
       
   442 // End of File
       
   443 
       
   444 
       
   445