upnpavcontroller/upnpavcontrollerserver/inc/upnpavdispatcher.h
changeset 0 7f85d04be362
child 38 5360b7ddc251
equal deleted inserted replaced
-1:000000000000 0:7f85d04be362
       
     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:      dispatches control point indications for clients
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 #ifndef C_CUPNPAVDISPATCHER_H
       
    24 #define C_CUPNPAVDISPATCHER_H
       
    25 
       
    26 
       
    27 #include <e32base.h>
       
    28 #include <upnpavcontrolpointobserver.h>
       
    29 
       
    30 // FORWARD DECLARATIONS
       
    31 class CUPnPAVActionInfo;
       
    32 class CUPnPAVControllerImpl;
       
    33 class CUpnpAVControllerServer;
       
    34 // CLASS DECLARATION
       
    35 
       
    36 /**
       
    37 *  UPnP AV Controller callback dispatcher
       
    38 *  
       
    39 *
       
    40 *  @lib - 
       
    41 *  @since Series 60 3.1
       
    42 */
       
    43 
       
    44 class CUPnPAVDispatcher : public CBase,
       
    45                           public MUpnpAVControlPointObserver
       
    46     {
       
    47 public:  // Constructors and destructor
       
    48         
       
    49     /**
       
    50     * Two-phased constructor.
       
    51     */
       
    52     static CUPnPAVDispatcher* NewLC( CUpnpAVControllerServer& aServer );
       
    53     
       
    54     /**
       
    55     * Two-phased constructor.
       
    56     */
       
    57     static CUPnPAVDispatcher* NewL( CUpnpAVControllerServer& aServer );    
       
    58 
       
    59     /**
       
    60     * Destructor.
       
    61     */
       
    62     virtual ~CUPnPAVDispatcher();
       
    63 
       
    64 private: // New methods
       
    65 
       
    66     /**
       
    67     * Constructs the server 
       
    68     * @param aPriority CServer2 input parameter
       
    69     */
       
    70     CUPnPAVDispatcher( CUpnpAVControllerServer& aServer );
       
    71 
       
    72     /**
       
    73      * Perform the second phase construction of a CUpnpMessageHandler object
       
    74      */
       
    75     void ConstructL();
       
    76 
       
    77 protected:
       
    78 
       
    79     /**
       
    80     * Observer callback for rendering control Set Volume.
       
    81     * @since Series 60 2.6
       
    82     * @param aUuid Source device UUID. 
       
    83     * @param aSessionId 
       
    84     * @param aErr UPnP error code.
       
    85     * @param aInstance rendering instance.
       
    86     * @param aChannel audio channel.
       
    87     * @param aDesiredVolume 
       
    88     */
       
    89     void RcSetVolumeResponse(
       
    90         const TDesC8& aUuid,
       
    91         TInt aSessionId,
       
    92         TInt aErr, 
       
    93         const TDesC8& aInstance, 
       
    94         const TDesC8& aChannel, 
       
    95         const TDesC8& aDesiredVolume);
       
    96     /**
       
    97     * Observer callback for rendering control Get Volume.
       
    98     * @since Series 60 2.6
       
    99     * @param aUuid Source device UUID. 
       
   100     * @param aSessionId 
       
   101     * @param aErr UPnP error code.
       
   102     * @param aInstance rendering instance.
       
   103     * @param aChannel audio channel.
       
   104     * @param aCurrentVolume 
       
   105     */
       
   106     void RcVolumeResponse(
       
   107         const TDesC8& aUuid,
       
   108         TInt aSessionId,
       
   109         TInt aErr, 
       
   110         const TDesC8& aInstance, 
       
   111         const TDesC8& aChannel, 
       
   112         const TDesC8& aCurrentVolume); 
       
   113     /**
       
   114     * Observer callback for rendering control Set Mute.
       
   115     * @since Series 60 2.6
       
   116     * @param aUuid Source device UUID. 
       
   117     * @param aSessionId 
       
   118     * @param aErr UPnP error code.
       
   119     * @param aInstance rendering instance.
       
   120     * @param aChannel audio channel.
       
   121     * @param aDesiredMute 
       
   122     */
       
   123     void RcSetMuteResponse(
       
   124         const TDesC8& aUuid,
       
   125         TInt aSessionId,
       
   126         TInt aErr, 
       
   127         const TDesC8& aInstance, 
       
   128         const TDesC8& aChannel, 
       
   129         const TDesC8& aDesiredMute);
       
   130     /**
       
   131     * Observer callback for rendering control Get Mute.
       
   132     * @since Series 60 2.6
       
   133     * @param aUuid Source device UUID. 
       
   134     * @param aSessionId 
       
   135     * @param aErr UPnP error code.
       
   136     * @param aInstance rendering instance.
       
   137     * @param aChannel audio channel.
       
   138     * @param aCurrentMute 
       
   139     */
       
   140     void RcMuteResponse(
       
   141         const TDesC8& aUuid,
       
   142         TInt aSessionId,
       
   143         TInt aErr, 
       
   144         const TDesC8& aInstance, 
       
   145         const TDesC8& aChannel, 
       
   146         const TDesC8& aCurrentMute); 
       
   147 
       
   148 
       
   149     /**
       
   150     * Observer callback for rendering control AV set transport uri.
       
   151     * @since Series 60 2.6
       
   152     * @param aUuid Source device UUID. 
       
   153     * @param aSessionId 
       
   154     * @param aErr UPnP error code.
       
   155     * @param aInstance rendering instance.
       
   156     * @param aCurrentUri Current transport URI.
       
   157     * @param Current transport URI Metadata. 
       
   158     */
       
   159     void AvtSetTransportUriResponse(
       
   160         const TDesC8& aUuid,
       
   161         TInt aSessionId,
       
   162         TInt aErr,
       
   163         const TDesC8& aInstanceId,
       
   164         const TDesC8& aCurrentUri,
       
   165         const TDesC8& aCurrentUriMetaData);
       
   166     /**
       
   167     * Observer callback for rendering control AV set next transport uri.
       
   168     * @since Series 60 2.6
       
   169     * @param aUuid Source device UUID. 
       
   170     * @param aSessionId 
       
   171     * @param aErr UPnP error code.
       
   172     * @param aInstance rendering instance.
       
   173     * @param aCurrentUri Current transport URI.
       
   174     * @param Current transport URI Metadata. 
       
   175     */
       
   176     void AvtSetNextTransportUriResponse(
       
   177         const TDesC8& aUuid,
       
   178         TInt aSessionId,
       
   179         TInt aErr,
       
   180         const TDesC8& aInstanceId,
       
   181         const TDesC8& aNextUri,
       
   182         const TDesC8& aNextUriMetaData);
       
   183     /**
       
   184     * Observer callback for rendering control AV get media info response.
       
   185     * @since Series 60 2.6
       
   186     * @param aUuid Source device UUID. 
       
   187     * @param aSessionId 
       
   188     * @param aErr UPnP error code.
       
   189     * @param aInstance rendering instance.
       
   190     * @param aNrTracks Number of tracks.
       
   191     * @param aMediaDuration 
       
   192     * @param aCurrentUri Current transport URI.
       
   193     * @param aCurrentUriMetaData Metadata of current trransport uri. 
       
   194     * @param aNextUri Next transport URI.
       
   195     * @param aNextUriMetaData Metadata of next trransport uri.
       
   196     * @param aPlayMedium
       
   197     * @param aRecordMedium
       
   198     * @param aWriteStatus
       
   199     */
       
   200     void AvtMediaInfoResponse(
       
   201         const TDesC8& aUuid,
       
   202         TInt aSessionId,
       
   203         TInt aErr,
       
   204         const TDesC8& aInstanceId,
       
   205         const TDesC8& aNrTracks,
       
   206         const TDesC8& aMediaDuration,
       
   207         const TDesC8& aCurrentUri,
       
   208         const TDesC8& aCurrentUriMetaData,
       
   209         const TDesC8& aNextUri,
       
   210         const TDesC8& aNextUriMetaData,
       
   211         const TDesC8& aPlayMedium,
       
   212         const TDesC8& aRecordMedium,
       
   213         const TDesC8& aWriteStatus);
       
   214     /**
       
   215     * Observer callback for rendering control AV get transport info response.
       
   216     * @since Series 60 2.6
       
   217     * @param aUuid Source device UUID. 
       
   218     * @param aSessionId
       
   219     * @param aErr UPnP error code.
       
   220     * @param aInstance rendering instance.
       
   221     * @param aCurrenTransportState
       
   222     * @param aCurrentTransportStatus
       
   223     * @param aCurrentUri aCurrentSpeed
       
   224     */
       
   225     void AvtGetTransportInfoResponse(
       
   226         const TDesC8& aUuid,
       
   227         TInt aSessionId,
       
   228         TInt aErr,
       
   229         const TDesC8& aInstanceId,
       
   230         const TDesC8& aCurrenTransportState,
       
   231         const TDesC8& aCurrentTransportStatus,
       
   232         const TDesC8& aCurrentSpeed);
       
   233     /**
       
   234     * Observer callback for rendering control AV get position info response.
       
   235     * @since Series 60 2.6
       
   236     * @param aUuid Source device UUID. 
       
   237     * @param aSessionId 
       
   238     * @param aErr UPnP error code.
       
   239     * @param aTrack rendering instance.
       
   240     * @param aTrackDuration 
       
   241     * @param aTrackMetaData
       
   242     * @param aTrackURI
       
   243     * @param aRelTime
       
   244     * @param aAbsTime
       
   245     * @param aRelCount
       
   246     * @param aAbsCount
       
   247     */
       
   248     void AvtPositionInfoResponse(
       
   249         const TDesC8& aUuid,
       
   250         TInt aSessionId,
       
   251         TInt aErr,
       
   252         const TDesC8& aInstanceId,
       
   253         const TDesC8& aTrack,
       
   254         const TDesC8& aTrackDuration,
       
   255         const TDesC8& aTrackMetaData,
       
   256         const TDesC8& aTrackURI,
       
   257         const TDesC8& aRelTime,
       
   258         const TDesC8& aAbsTime,
       
   259         const TDesC8& aRelCount,
       
   260         const TDesC8& aAbsCount);
       
   261     /**
       
   262     * Observer callback for rendering control AV get device
       
   263     * capabilities response.
       
   264     * @since Series 60 2.6
       
   265     * @param aUuid Source device UUID. 
       
   266     * @param aSessionId 
       
   267     * @param aErr UPnP error code.
       
   268     * @param aPlayMedia
       
   269     * @param aRecMedia 
       
   270     * @param aRecQualityModes
       
   271     */
       
   272     void AvtDeviceCapabilitiesResponse(
       
   273         const TDesC8& aUuid,
       
   274         TInt aSessionId,
       
   275         TInt aErr,
       
   276         const TDesC8& aInstanceId,
       
   277         const TDesC8& aPlayMedia,
       
   278         const TDesC8& aRecMedia,
       
   279         const TDesC8& aRecQualityMode);
       
   280     /**
       
   281     * Observer callback for rendering control AV get transport
       
   282     * settings response.
       
   283     * @since Series 60 2.6
       
   284     * @param aUuid Source device UUID. 
       
   285     * @param aSessionId
       
   286     * @param aInstanceId
       
   287     * @param aErr UPnP error code.        
       
   288     * @param aPlayMode
       
   289     * @param aRecQualityMode
       
   290     */
       
   291     void AvtTransportSettingsResponse(
       
   292         const TDesC8& aUuid,
       
   293         TInt aSessionId,
       
   294         TInt aErr,
       
   295         const TDesC8& aInstanceId,
       
   296         const TDesC8& aPlayMode,
       
   297         const TDesC8& aRecQualityMode);
       
   298     /**
       
   299     * Observer callback for rendering control AV Stop response.
       
   300     * @since Series 60 2.6
       
   301     * @param aUuid Source device UUID. 
       
   302     * @param aSessionId 
       
   303     * @param aErr UPnP error code.
       
   304     */
       
   305     void AvtStopResponse(
       
   306         const TDesC8& aUuid,
       
   307         TInt aSessionId,
       
   308         TInt aErr,
       
   309         const TDesC8& aInstanceId);
       
   310     /**
       
   311     * Observer callback for rendering control AV Play response.
       
   312     * @since Series 60 2.6
       
   313     * @param aUuid Source device UUID. 
       
   314     * @param aSessionId 
       
   315     * @param aErr UPnP error code.
       
   316     * @param aSpeed
       
   317     */
       
   318     void AvtPlayResponse(
       
   319         const TDesC8& aUuid,
       
   320         TInt aSessionId,
       
   321         TInt aErr,
       
   322         const TDesC8& aInstanceId,
       
   323         const TDesC8& aSpeed);
       
   324     /**
       
   325     * Observer callback for rendering control AV Pause response.
       
   326     * @since Series 60 2.6
       
   327     * @param aUuid Source device UUID. 
       
   328     * @param aSessionId 
       
   329     * @param aErr UPnP error code.
       
   330     */
       
   331     void AvtPauseResponse(
       
   332         const TDesC8& aUuid,
       
   333         TInt aSessionId,
       
   334         TInt aErr,
       
   335         const TDesC8& aInstanceId);
       
   336     /**
       
   337     * Observer callback for rendering control AV Record response.
       
   338     * @since Series 60 2.6
       
   339     * @param aUuid Source device UUID. 
       
   340     * @param aSessionId 
       
   341     * @param aErr UPnP error code.
       
   342     */
       
   343     void AvtRecordResponse(
       
   344         const TDesC8& aUuid,
       
   345         TInt aSessionId,
       
   346         TInt aErr,
       
   347         const TDesC8& aInstanceId);
       
   348     /**
       
   349     * Observer callback for rendering control AV Seek response.
       
   350     * @since Series 60 2.6
       
   351     * @param aSessionId 
       
   352     * @param aErr UPnP error code.
       
   353     * @param aUnit
       
   354     * @param aTarget
       
   355     */
       
   356     void AvtSeekResponse(
       
   357         const TDesC8& aUuid,
       
   358         TInt aSessionId,
       
   359         TInt aErr,
       
   360         const TDesC8& aInstanceId,
       
   361         const TDesC8& aUnit,
       
   362         const TDesC8& aTarget);
       
   363     /**
       
   364     * Observer callback for rendering control AV Next response.
       
   365     * @since Series 60 2.6
       
   366     * @param aUuid Source device UUID. 
       
   367     * @param aSessionId 
       
   368     * @param aErr UPnP error code.
       
   369     */
       
   370     void AvtNextResponse(
       
   371         const TDesC8& aUuid,
       
   372         TInt aSessionId,
       
   373         TInt aErr,
       
   374         const TDesC8& aInstanceId);
       
   375     /**
       
   376     * Observer callback for rendering control AV Previous response.
       
   377     * @since Series 60 2.6
       
   378     * @param aUuid Source device UUID. 
       
   379     * @param aSessionId 
       
   380     * @param aErr UPnP error code.
       
   381     */
       
   382     void AvtPreviousResponse(
       
   383         const TDesC8& aUuid,
       
   384         TInt aSessionId,
       
   385         TInt aErr,
       
   386         const TDesC8& aInstanceId);
       
   387     /**
       
   388     * Observer callback for rendering control AV setplay mode response.
       
   389     * @since Series 60 2.6
       
   390     * @param aUuid Source device UUID. 
       
   391     * @param aSessionId 
       
   392     * @param aErr UPnP error code.
       
   393     * @param aNewPlayMode
       
   394     */
       
   395     void AvtSetPlayModeResponse(
       
   396         const TDesC8& aUuid,
       
   397         TInt aSessionId,
       
   398         TInt aErr,
       
   399         const TDesC8& aInstanceId,
       
   400         const TDesC8& aNewPlayMode);
       
   401     /**
       
   402     * Observer callback for rendering control AV set record qualityresponse.
       
   403     * @since Series 60 2.6
       
   404     * @param aUuid Source device UUID. 
       
   405     * @param aSessionId 
       
   406     * @param aErr UPnP error code.
       
   407     * @param aNewRecordQuality
       
   408     */
       
   409     void AvtSetRecordModeResponse(
       
   410         const TDesC8& aUuid,
       
   411         TInt aSessionId,
       
   412         TInt aErr,
       
   413         const TDesC8& aInstanceId,
       
   414         const TDesC8& aNewRecordQuality);
       
   415     /**
       
   416     * Observer callback for Content Directory GetSearchCapabilities function.
       
   417     * @since Series 60 2.6
       
   418     * @param aUuid Source device UUID. 
       
   419     * @param aSessionId 
       
   420     * @param aErr UPnP error code.
       
   421     * @param aSearchCaps
       
   422     */
       
   423     void CdsSearchCapabilitiesResponse(
       
   424         const TDesC8& aUuid,
       
   425         TInt aSessionId,
       
   426         TInt aErr,
       
   427         const TDesC8& aSearchCaps);
       
   428     /**
       
   429     * Observer callback for Content Directory GetSortCapabilities function.
       
   430     * @since Series 60 2.6
       
   431     * @param aUuid Source device UUID. 
       
   432     * @param aSessionId 
       
   433     * @param aErr UPnP error code.
       
   434     * @param aSortCaps
       
   435     */
       
   436     void CdsSortCapabilitiesResponse(
       
   437         const TDesC8& aUuid,
       
   438         TInt aSessionId,
       
   439         TInt aErr,
       
   440         const TDesC8& aSortCaps);
       
   441     /**
       
   442     * Observer callback for Content Directory GetSystemUpdateID function.
       
   443     * @since Series 60 2.6
       
   444     * @param aSessionId 
       
   445     * @param aErr UPnP error code.
       
   446     * @param aSystemUpdateId
       
   447     */
       
   448     void CdsSystemUpdateIdResponse(
       
   449         const TDesC8& aUuid,
       
   450         TInt aSessionId,
       
   451         TInt aErr,
       
   452         TInt aSystemUpdateId);
       
   453     /**
       
   454     * Observer callback for Content Directory Browse function.
       
   455     * @since Series 60 2.6
       
   456     * @param aUuid Source device UUID. 
       
   457     * @param aSessionId 
       
   458     * @param aErr UPnP error code.
       
   459     * @param aObjectID
       
   460     * @param aBrowseFlag
       
   461     * @param aFilter
       
   462     * @param aIndex
       
   463     * @param arequest
       
   464     * @param aSortCriteria
       
   465     * @param aResult
       
   466     * @param aReturned
       
   467     * @param aMatches
       
   468     * @param aUpdateID
       
   469     */
       
   470     void CdsBrowseResponse(
       
   471         const TDesC8& aUuid,
       
   472         TInt aSessionId,
       
   473         TInt aErr,
       
   474         const TDesC8& aObjectID,
       
   475         const TDesC8&  aBrowseFlag,
       
   476         const TDesC8&  aFilter,
       
   477         TInt aIndex,
       
   478         TInt aRequest,
       
   479         const TDesC8&  aSortCriteria,
       
   480         const TDesC8&  aResult,
       
   481         TInt aReturned,
       
   482         TInt aMatches,
       
   483         const TDesC8&  aUpdateID);
       
   484     /**
       
   485     * Observer callback for Content Directory Search function.
       
   486     * @since Series 60 2.6
       
   487     * @param aUuid Source device UUID. 
       
   488     * @param aSessionId 
       
   489     * @param aErr UPnP error code.
       
   490     * @param aContainerId
       
   491     * @param aSearchCriteria
       
   492     * @param aFilter
       
   493     * @param aIndex
       
   494     * @param arequest
       
   495     * @param aSortCriteria
       
   496     * @param aResult
       
   497     * @param aReturned
       
   498     * @param aMatches
       
   499     * @param aUpdateID
       
   500     */
       
   501     void CdsSearchResponse(
       
   502         const TDesC8& aUuid,
       
   503         TInt aSessionId,
       
   504         TInt aErr,
       
   505         const TDesC8& aContainerId,
       
   506         const TDesC8& aSearchCriteria,
       
   507         const TDesC8& aFilter,
       
   508         TInt aIndex,
       
   509         TInt aRequest,
       
   510         const TDesC8& aSortCriteria,
       
   511         const TDesC8& aResult,
       
   512         TInt aReturned,
       
   513         TInt aMatches,
       
   514         const TDesC8& aUpdateID);
       
   515     /**
       
   516     * Observer callback for Content Directory DestroyObject function.
       
   517     * @since Series 60 2.6
       
   518     * @param aUuid Source device UUID. 
       
   519     * @param aSessionId 
       
   520     * @param aErr UPnP error code.
       
   521     * @param aObjectId
       
   522     */
       
   523     void CdsDestroyObjectResponse(
       
   524         const TDesC8& aUuid,
       
   525         TInt aSessionId,
       
   526         TInt aErr,
       
   527         const TDesC8& aObjectId );
       
   528     /**
       
   529     * Observer callback for Content Directory UpdateObject function.
       
   530     * @since Series 60 2.6
       
   531     * @param aUuid Source device UUID. 
       
   532     * @param aSessionId 
       
   533     * @param aErr UPnP error code.
       
   534     * @param aObjectId
       
   535     * @param aCurrentTagValue
       
   536     * @param aNewTagValue
       
   537     */
       
   538     void CdsUpdateObjectResponse(
       
   539         const TDesC8& aUuid,
       
   540         TInt aSessionId,
       
   541         TInt aErr,
       
   542         const TDesC8& aObjectId,
       
   543         const TDesC8& aCurrentTagValue,
       
   544         const TDesC8& aNewTagValue );
       
   545     /**
       
   546     * Observer callback for Content Directory ImportResource function.
       
   547     * @since Series 60 2.6
       
   548     * @param aUuid Source device UUID. 
       
   549     * @param aSessionId 
       
   550     * @param aErr UPnP error code.
       
   551     * @param aSourceURI
       
   552     * @param aDestinationURI
       
   553     * @param aTransferId
       
   554     */       
       
   555     void CdsImportResponse(
       
   556         const TDesC8& aUuid,
       
   557         TInt aSessionId,
       
   558         TInt aErr,
       
   559         const TDesC8& aSourceURI,
       
   560         const TDesC8& aDestinationURI,
       
   561         const TDesC8& aTransferId );
       
   562     /**
       
   563     * Observer callback for Content Directory ExportResource function.
       
   564     * @since Series 60 2.6
       
   565     * @param aUuid Source device UUID. 
       
   566     * @param aSessionId 
       
   567     * @param aErr UPnP error code.
       
   568     * @param aSourceURI
       
   569     * @param aDestinationURI
       
   570     * @param aTransferId
       
   571     */       
       
   572     void CdsExportResponse(
       
   573         const TDesC8& aUuid,
       
   574         TInt aSessionId,
       
   575         TInt aErr,
       
   576         const TDesC8& aSourceURI,
       
   577         const TDesC8& aDestinationURI,
       
   578         const TDesC8& aTransferId );
       
   579     /**
       
   580     * Observer callback for Content Directory StopTransfer function.
       
   581     * @since Series 60 2.6
       
   582     * @param aUuid Source device UUID. 
       
   583     * @param aSessionId 
       
   584     * @param aErr UPnP error code.
       
   585     * @param aSourceURI
       
   586     * @param aDestinationURI
       
   587     * @param aTransferId
       
   588     */       
       
   589     void CdsStopTransferResponse(
       
   590         const TDesC8& aUuid,
       
   591         TInt aSessionId,
       
   592         TInt aErr,
       
   593         const TDesC8& aTransferId );
       
   594     /**
       
   595     * Observer callback for Content Directory GetTransferProgress function.
       
   596     * @since Series 60 2.6
       
   597     * @param aUuid Source device UUID. 
       
   598     * @param aSessionId 
       
   599     * @param aErr UPnP error code.
       
   600     * @param aTransferId
       
   601     * @param aTransferStatus
       
   602     * @param aTransferTotal
       
   603     */         
       
   604     void CdsCTransferProgressResponse(
       
   605         const TDesC8& aUuid,
       
   606         TInt aSessionId,
       
   607         TInt aErr,
       
   608         const TDesC8& aTransferId,
       
   609         const TDesC8& aTransferStatus,
       
   610         const TDesC8& aTransferLength,            
       
   611         const TDesC8& aTransferTotal );
       
   612     /**
       
   613     * Observer callback for Content Directory DeleteResource function.
       
   614     * @since Series 60 2.6
       
   615     * @param aUuid Source device UUID. 
       
   616     * @param aSessionId 
       
   617     * @param aErr UPnP error code.
       
   618     * @param aResourceUri Resource to be deleted.
       
   619     */ 
       
   620     void CdsDeleteResourceResponse(
       
   621         const TDesC8& aUuid,
       
   622         TInt aSessionId,
       
   623         TInt aErr,
       
   624         const TDesC8& aResourceUri );
       
   625     /**
       
   626     * Observer callback for Content Directory CreateReference function.
       
   627     * @since Series 60 2.6
       
   628     * @param aUuid Source device UUID. 
       
   629     * @param aSessionId 
       
   630     * @param aErr UPnP error code.
       
   631     * @param aContainerId Destination folder.
       
   632     * @param aObjectId Source object.
       
   633     * @param aNewId Created reference.
       
   634     */ 
       
   635     void CdsCreateReferenceResponse(
       
   636         const TDesC8& aUuid,
       
   637         TInt aSessionId,
       
   638         TInt aErr,
       
   639         const TDesC8& aContainerId, 
       
   640         const TDesC8& aObjectId, 
       
   641         const TDesC8& aNewId );
       
   642     /**
       
   643     * Observer callback for Content Directory CreateReference function.
       
   644     * @since Series 60 2.6
       
   645     * @param aUuid Source device UUID. 
       
   646     * @param aSessionId 
       
   647     * @param aErr UPnP error code.
       
   648     * @param aContainerID Container in which new object is created.
       
   649     * @param aElements Elements for item creation.
       
   650     * @param aObjectID New objects ID.
       
   651     * @param aResult Result of the action.
       
   652     */ 
       
   653     void CdsCreateObjectResponse(
       
   654         const TDesC8& aUuid,
       
   655         TInt aSessionId,
       
   656         TInt aErr,
       
   657         const TDesC8& aContainerID, 
       
   658         const TDesC8& aElements, 
       
   659         const TDesC8& aObjectID, 
       
   660         const TDesC8& aResult );
       
   661 
       
   662     /**
       
   663     * Observer callback for Connection Manager GetProtocolInfo function.
       
   664     * @since Series 60 2.6
       
   665     * @param aUuid Source device UUID. 
       
   666     * @param aSessionId 
       
   667     * @param aErr UPnP error code.
       
   668     * @param aSource
       
   669     * @param aSink
       
   670     */ 
       
   671     void CmProtocolInfoResponse(
       
   672         const TDesC8& aUuid,
       
   673         TInt aSessionId,
       
   674         TInt aErr,
       
   675         const TDesC8& aSource, 
       
   676         const TDesC8& aSink );
       
   677     /**
       
   678     * Observer callback for Connection Manager PrepareForConnection 
       
   679     * function.
       
   680     * @since Series 60 2.6
       
   681     * @param aUuid Source device UUID. 
       
   682     * @param aSessionId 
       
   683     * @param aErr UPnP error code.
       
   684     * @param aRemoteProtocolInfo
       
   685     * @param aPeerConnectionManager
       
   686     * @param aPeerConnectionId
       
   687     * @param aDirection
       
   688     * @param aConnection
       
   689     * @param aTransport
       
   690     * @param aRsc
       
   691     */        
       
   692     void CmPrepareResponse(
       
   693         const TDesC8& aUuid,
       
   694         TInt aSessionId,
       
   695         TInt aErr,
       
   696         const TDesC8& aRemoteProtocolInfo,
       
   697         const TDesC8& aPeerConnectionManager,
       
   698         const TDesC8& aPeerConnectionId,
       
   699         const TDesC8& aDirection,
       
   700         TInt aConnection,
       
   701         TInt aTransport,
       
   702         TInt aRsc );
       
   703     /**
       
   704     * Observer callback for Connection Manager ConnectionComplete 
       
   705     * function.
       
   706     * @since Series 60 2.6
       
   707     * @param aUuid Source device UUID. 
       
   708     * @param aSessionId 
       
   709     * @param aErr UPnP error code.
       
   710     * @param aConnection
       
   711     */         
       
   712     void CmComplete(
       
   713         const TDesC8& aUuid,
       
   714         TInt aSessionId,
       
   715         TInt aErr,
       
   716         TInt aConnection );
       
   717     /**
       
   718     * Observer callback for Connection Manager GetCurrentConnectionIDs
       
   719     * function.
       
   720     * @since Series 60 2.6
       
   721     * @param aUuid Source device UUID. 
       
   722     * @param aSessionId 
       
   723     * @param aErr UPnP error code.
       
   724     * @param aConnection
       
   725     */         
       
   726     void CmCurrentConnections(
       
   727         const TDesC8& aUuid,
       
   728         TInt aSessionId,
       
   729         TInt aErr,
       
   730         const TDesC8& aConnections);
       
   731     /**
       
   732     * Observer callback for Connection Manager GetCurrentConnectionInfo
       
   733     * function.
       
   734     * @since Series 60 2.6
       
   735     * @param aUuid Source device UUID. 
       
   736     * @param aSessionId 
       
   737     * @param aErr UPnP error code.
       
   738     * @param rscId
       
   739     * @param aProtocolInfo
       
   740     * @param aPeerConnectionManager
       
   741     * @param peerId
       
   742     * @param aStatus
       
   743     */   
       
   744     void CmCurrentInfo(
       
   745         const TDesC8& aUuid,
       
   746         TInt aSessionId,
       
   747         TInt aErr,
       
   748         TInt rscId, 
       
   749         TInt transportId, 
       
   750         const TDesC8& aProtocolInfo,
       
   751         const TDesC8& aPeerConnectionManager, 
       
   752         TInt peerId, 
       
   753         const TDesC8& aDirection, 
       
   754         const TDesC8& aStatus );
       
   755 
       
   756     //*****************************************************************
       
   757     //Functions for UPnP event handling
       
   758     //*****************************************************************
       
   759     /**
       
   760     * Content Directory SystemUpdateId event handler.
       
   761     * @since Series 60 2.6
       
   762     * @param aUuid Device UUID.
       
   763     * @param aSystemUpdateId Device systemUpdateId.
       
   764     */
       
   765     void CdsUpdateEvent(
       
   766             const TDesC8& aUuid,
       
   767             TInt aSystemUpdateId
       
   768             ) ;
       
   769     /**
       
   770     * Content Directory ContainerUpdateIDs event handler.
       
   771     * @since Series 60 2.6
       
   772     * @param aUuid Device UUID.
       
   773     * @param aConteinerIds Device container update ids.
       
   774     */
       
   775     void CdsContainerEvent(
       
   776             const TDesC8& aUuid,
       
   777             const TDesC8& aConteinerIds
       
   778             );
       
   779     /**
       
   780     * Content Directory TransferIDs event handler.
       
   781     * @since Series 60 2.6
       
   782     * @param aUuid Device UUID.
       
   783     * @param aTransferIds Device transfer ids.
       
   784     */
       
   785     void CdsTransferEvent(
       
   786             const TDesC8& aUuid,
       
   787             const TDesC8& aTransferIds
       
   788             );
       
   789     /**
       
   790     * Rendering Control LastChange event handler.
       
   791     * @since Series 60 2.6
       
   792     * @param aUuid Device UUID.
       
   793     * @param aLastChange Device LastChange statevariable.
       
   794     */
       
   795     void RcLastChangeEvent(
       
   796             const TDesC8& aUuid,
       
   797             const TDesC8& aLastChange
       
   798             );
       
   799     /**
       
   800     * AV Transport LastChange event handler.
       
   801     * @since Series 60 2.6
       
   802     * @param aUuid Device UUID.
       
   803     * @param aLastChange Device LastChange statevariable.
       
   804     */
       
   805     void AvtLastChangeEvent(
       
   806             const TDesC8& aUuid,
       
   807             const TDesC8& aLastChange
       
   808             );
       
   809     /**
       
   810     * Connection Manager SourceEvent event handler.
       
   811     * @since Series 60 2.6
       
   812     * @param aUuid Device UUID.
       
   813     * @param aSource Device's source info.
       
   814     */
       
   815     void CmSourceEvent(
       
   816             const TDesC8& aUuid,
       
   817             const TDesC8& aSource
       
   818             );
       
   819     /**
       
   820     * Connection Manager SinkEvent event handler.
       
   821     * @since Series 60 2.6
       
   822     * @param aUuid Device UUID.
       
   823     * @param aSink Device's sink info.
       
   824     */
       
   825     void CmSinkEvent(
       
   826             const TDesC8& aUuid,
       
   827             const TDesC8& aSink
       
   828             );
       
   829     /**
       
   830     * Connection Manager ConnectionsEvent event handler.
       
   831     * @since Series 60 2.6
       
   832     * @param aUuid Device UUID.
       
   833     * @param aConnections Devices connections.
       
   834     */
       
   835     void CmConnectionsEvent(
       
   836             const TDesC8& aUuid,
       
   837             const TDesC8& aConnections
       
   838             );
       
   839     //*****************************************************************
       
   840     // Device and http functions.
       
   841     //*****************************************************************
       
   842     /**
       
   843     * Handles HTTP messages.
       
   844     * @since Series 60 2.6
       
   845     * @param aMessage Incoming HTTP message.
       
   846     */
       
   847     void HttpResponseL(CUpnpHttpMessage* aMessage) ;
       
   848 
       
   849     /**
       
   850     * Handles UPnP device discoveries.
       
   851     * @since Series 60 2.6
       
   852     * @param aDevice Device that is discovered.
       
   853     */
       
   854     void DeviceDiscoveredL(CUpnpDevice* aDevice);
       
   855 
       
   856     /**
       
   857     * Handles UPnP device disappears.
       
   858     * @since Series 60 2.6
       
   859     * @param aDevice Device that disappeared.
       
   860     */
       
   861     void DeviceDisappearedL(CUpnpDevice* aDevice);
       
   862     
       
   863 public: // New methods
       
   864 
       
   865     void RegisterL( TInt aSessionId,
       
   866         MUpnpAVControlPointObserver& aObserver/*, const TDesC8& aUuid*/ );
       
   867 
       
   868     void UnRegister( TInt aSessionId /*, const TDesC8& aUuid*/ );
       
   869 
       
   870     void RegisterForEventsL( MUpnpAVControlPointObserver& aObserver,
       
   871         const TDesC8& aUuid );
       
   872 
       
   873     void UnRegisterEvents( MUpnpAVControlPointObserver& aObserver );
       
   874 
       
   875 private: // New methods
       
   876 
       
   877     MUpnpAVControlPointObserver& FindObserver( TInt aSessionId );   
       
   878 
       
   879 private:
       
   880     
       
   881     CUpnpAVControllerServer&            iServer;            
       
   882 
       
   883     /** @var iSessionCount the number of session owned by this server */
       
   884     RPointerArray<CUPnPAVActionInfo>    iActionInfos;
       
   885 
       
   886     //RPointerArray<CUPnPAVActionInfo>    iActionInfosDevice;
       
   887 
       
   888     RPointerArray<CUPnPAVActionInfo>    iActionInfosEvent;
       
   889     
       
   890     };
       
   891 
       
   892 
       
   893 #endif // C_CUPNPAVDISPATCHER_H