dlnasrv_plat/upnp_avcp_api/inc/upnpavcontrolpoint.h
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
equal deleted inserted replaced
39:6369bfd1b60d 40:08b5eae9f9ff
     1 /** @file
       
     2 * Copyright (c) 2005-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:  AV control point class
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #ifndef C_CUPNPAVCONTROLPOINT_H
       
    21 #define C_CUPNPAVCONTROLPOINT_H
       
    22 
       
    23 
       
    24 //  INCLUDES
       
    25 #include "upnpavcontrolpointobserver.h"
       
    26 #include "upnpcontrolpoint.h"
       
    27 #include "upnphttpmessage.h"
       
    28 
       
    29 // FORWARD DECLARATIONS
       
    30 class CUpnpActionResponseHandler;
       
    31 class CUpnpStateUpdateHandler;
       
    32 class CUpnpAvtActionFactory;
       
    33 class CUpnpCdsActionFactory;
       
    34 class CUpnpCmActionFactory;
       
    35 class CUpnpRcActionFactory;
       
    36 // CLASS DECLARATION
       
    37 
       
    38 /**
       
    39 *  Main class of AV Control Point.
       
    40 *  This class serves as an interface to AVCP library and contais functions for
       
    41 *  UPnP Action creation and sending as well as receiving Action responses and
       
    42 *  UPnP events.
       
    43 *
       
    44 *  Prior using the CUpnpAVControlPoint class, client application has to create 
       
    45 *  the network connection. If connection is not up and 
       
    46 *  running, the CUpnpDispatcherEngine class construction will fail. 
       
    47 *  See UPnP Interface Design document for instuctions.
       
    48 *
       
    49 *  @since Series 60 2.6
       
    50 */
       
    51 class CUpnpAVControlPoint : public CUpnpControlPoint
       
    52     {
       
    53 public:  // Constructors and destructor
       
    54     
       
    55     /**
       
    56     * Two-phased constructor.
       
    57     */
       
    58     IMPORT_C static CUpnpAVControlPoint* NewL(
       
    59         MUpnpAVControlPointObserver& aAVControlPointObserver            
       
    60         );
       
    61     
       
    62     /**
       
    63     * Destructor.
       
    64     */
       
    65     IMPORT_C virtual ~CUpnpAVControlPoint();
       
    66 
       
    67 public: // New functions
       
    68     
       
    69     /**
       
    70     * Service search and getter function.
       
    71     * @since Series 60 2.6
       
    72     * @param aDevice Target device of search.
       
    73     * @param aServiceType Type of searched service.
       
    74     * @return Found CUpnpService or NULL if not found.
       
    75     */
       
    76     IMPORT_C CUpnpService* Service(
       
    77         CUpnpDevice* aDevice,
       
    78         const TDesC8& aServiceType);
       
    79 
       
    80     /**
       
    81     * Device getter.
       
    82     * @since Series 60 2.6
       
    83     * @param aUuid A Universal Unique Identifier of device.
       
    84     * @return Founded device.
       
    85     IMPORT_C const CUpnpDevice* Device(const TDesC8& aUuid);       
       
    86     */
       
    87 
       
    88 
       
    89     /**
       
    90     * Creates and sends a SetTransportURI action.
       
    91     * @since Series 60 2.6
       
    92     * @param aUuid A Universal Unique Identifier of device.
       
    93     * @param aInstanceId Rendring Instance.
       
    94     * @param aCurrentUri Content URI.
       
    95     * @param aCurrentMetaData Content metadata.
       
    96     * @return Error code. KErrNone if no errors.
       
    97     */
       
    98     IMPORT_C TInt AvtSetTransportUriActionL(
       
    99         const TDesC8& aUuid,
       
   100         TInt aInstanceId,
       
   101         const TDesC8& aCurrentUri,
       
   102         const TDesC8& aCurrentMetaData);
       
   103 
       
   104     /**
       
   105     * Creates and sends a SetNextTransportURI action.
       
   106     * @since Series 60 2.6
       
   107     * @param aUuid A Universal Unique Identifier of device.
       
   108     * @param aInstanceId Rendring Instance.
       
   109     * @param aNextUri Content URI.
       
   110     * @param aNextMetaData Content metadata.
       
   111     * @return Error code. KErrNone if no errors.
       
   112     */
       
   113     IMPORT_C TInt AvtSetNextTransportUriActionL(
       
   114         const TDesC8& aUuid,
       
   115         TInt aInstanceId,
       
   116         const TDesC8& aNextUri,
       
   117         const TDesC8& aNextMetaData);
       
   118 
       
   119     /**
       
   120     * Creates and sends a Seek action.
       
   121     * @since Series 60 2.6
       
   122     * @param aUuid A Universal Unique Identifier of device.
       
   123     * @param aInstanceId Rendring Instance.
       
   124     * @param aUnit
       
   125     * @param aTarget
       
   126     * @return Error code. KErrNone if no errors.
       
   127     */
       
   128     IMPORT_C TInt AvtSeekActionL(
       
   129         const TDesC8& aUuid,
       
   130         TInt aInstanceId,
       
   131         const TDesC8& aUnit,
       
   132         const TDesC8& aTarget);
       
   133 
       
   134     /**
       
   135     * Creates and sends a GetMediaInfo action.
       
   136     * @since Series 60 2.6
       
   137     * @param aUuid A Universal Unique Identifier of device.
       
   138     * @param aInstanceId Rendring Instance.
       
   139     * @return Error code. KErrNone if no errors.
       
   140     */
       
   141     IMPORT_C TInt AvtMediaInfoActionL(const TDesC8& aUuid,TInt aInstanceId);
       
   142 
       
   143     /**
       
   144     * Creates and sends a GetTransportInfo action.
       
   145     * @since Series 60 2.6
       
   146     * @param aUuid A Universal Unique Identifier of device.
       
   147     * @param aInstanceId Rendring Instance.
       
   148     * @return Error code. KErrNone if no errors.
       
   149     */
       
   150     IMPORT_C TInt AvtTransportInfoActionL(const TDesC8& aUuid,TInt aInstanceId);
       
   151 
       
   152     /**
       
   153     * Creates and sends a GetPositionInfo action.
       
   154     * @since Series 60 2.6
       
   155     * @param aUuid A Universal Unique Identifier of device.
       
   156     * @param aInstanceId Rendring Instance.
       
   157     * @return Error code. KErrNone if no errors.
       
   158     */
       
   159     IMPORT_C TInt AvtPositionInfoActionL(const TDesC8& aUuid,TInt aInstanceId);
       
   160 
       
   161     /**
       
   162     * Creates and sends a GetDeviceCapabilities action.
       
   163     * @since Series 60 2.6
       
   164     * @param aUuid A Universal Unique Identifier of device.
       
   165     * @param aInstanceId Rendring Instance.
       
   166     * @return Error code. KErrNone if no errors.
       
   167     */
       
   168     IMPORT_C TInt AvtDeviceCapabilitiesActionL(const TDesC8& aUuid,TInt aInstanceId);
       
   169 
       
   170     /**
       
   171     * Creates and sends a GetTransportSetings action.
       
   172     * @since Series 60 2.6
       
   173     * @param aUuid A Universal Unique Identifier of device.
       
   174     * @param aInstanceId Rendring Instance.
       
   175     * @return Error code. KErrNone if no errors.
       
   176     */
       
   177     IMPORT_C TInt AvtTransportSettingsActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   178 
       
   179     /**
       
   180     * Creates and sends a Stop action.
       
   181     * @since Series 60 2.6
       
   182     * @param aUuid A Universal Unique Identifier of device.
       
   183     * @param aInstanceId Rendring Instance.
       
   184     * @return Error code. KErrNone if no errors.
       
   185     */
       
   186     IMPORT_C TInt AvtStopActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   187 
       
   188     /**
       
   189     * Creates and sends a Play action.
       
   190     * @since Series 60 2.6
       
   191     * @param aUuid A Universal Unique Identifier of device.
       
   192     * @param aInstanceId Rendring Instance.
       
   193     * @param aSpeed Speed of playback.
       
   194     * @return Error code. KErrNone if no errors.
       
   195     */
       
   196     IMPORT_C TInt AvtPlayActionL(
       
   197         const TDesC8& aUuid,
       
   198         TInt aInstanceId,
       
   199         const TDesC8& aSpeed);
       
   200 
       
   201     /**
       
   202     * Creates and sends a Pause action.
       
   203     * @since Series 60 2.6
       
   204     * @param aUuid A Universal Unique Identifier of device.
       
   205     * @param aInstanceId Rendring Instance.
       
   206     * @return Error code. KErrNone if no errors.
       
   207     */
       
   208     IMPORT_C TInt AvtPauseActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   209 
       
   210     /**
       
   211     * Creates and sends a Record action.
       
   212     * @since Series 60 2.6
       
   213     * @param aUuid A Universal Unique Identifier of device.
       
   214     * @param aInstanceId Rendring Instance.
       
   215     * @return Error code. KErrNone if no errors.
       
   216     */
       
   217     IMPORT_C TInt AvtRecordActionL(const TDesC8& aUuid,TInt aInstanceId);
       
   218 
       
   219     /**
       
   220     * Creates and sends a Next action.
       
   221     * @since Series 60 2.6
       
   222     * @param aUuid A Universal Unique Identifier of device.
       
   223     * @param aInstanceId Rendring Instance.
       
   224     * @return Error code. KErrNone if no errors.
       
   225     */
       
   226     IMPORT_C TInt AvtNextActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   227 
       
   228     /**
       
   229     * Creates and sends a Previous action.
       
   230     * @since Series 60 2.6
       
   231     * @param aUuid A Universal Unique Identifier of device.
       
   232     * @param aInstanceId Rendring Instance.
       
   233     * @return Error code. KErrNone if no errors.
       
   234     */
       
   235     IMPORT_C TInt AvtPreviousActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   236 
       
   237     /**
       
   238     * Creates and sends a SetPlayMode action.
       
   239     * @since Series 60 2.6
       
   240     * @param aUuid A Universal Unique Identifier of device.
       
   241     * @param aInstanceId Rendring Instance.
       
   242     * @param aPlayMode
       
   243     * @return Error code. KErrNone if no errors.
       
   244     */
       
   245     IMPORT_C TInt AvtSetPlayModeActionL(
       
   246         const TDesC8& aUuid,
       
   247         TInt aInstanceId,
       
   248         const TDesC8& aPlayMode);
       
   249 
       
   250     /**
       
   251     * Creates and sends a SetRecordQualityMode action.
       
   252     * @since Series 60 2.6
       
   253     * @param aUuid A Universal Unique Identifier of device.
       
   254     * @param aInstanceId Rendring Instance.
       
   255     * @param aRecordMode
       
   256     * @return Error code. KErrNone if no errors.
       
   257     */
       
   258     IMPORT_C TInt AvtSetRecordModeActionL(
       
   259         const TDesC8& aUuid,
       
   260         TInt aInstanceId,
       
   261         const TDesC8& aRecordMode);
       
   262 
       
   263     /**
       
   264     * Creates and sends a GetTransportIDs action.
       
   265     * @since Series 60 2.6
       
   266     * @param aUuid A Universal Unique Identifier of device.
       
   267     * @param aInstanceId Rendring Instance.
       
   268     * @return Error code. KErrNone if no errors.
       
   269     */
       
   270     IMPORT_C TInt AvtTransportsActionL(const TDesC8& aUuid, TInt aInstanceId);
       
   271 
       
   272     /**
       
   273     * Creates and sends a Browse action.
       
   274     * @since Series 60 2.6
       
   275     * @param aUuid A Universal Unique Identifier of device.
       
   276     * @param aObjectId Target's id.
       
   277     * @param aBrowseFlag MetaData or DirectChildren.
       
   278     * @param aFilter What is returned.
       
   279     * @param aStartingIndex First returned item.
       
   280     * @param aRequestedCount How manyy items is returned.
       
   281     * @param aSortCriteria Sorting order.
       
   282     * @return Error code. KErrNone if no errors.
       
   283     */
       
   284     IMPORT_C TInt CdsBrowseActionL(
       
   285         const TDesC8& aUuid,
       
   286         const TDesC8& aObjectId,
       
   287         const TDesC8& aBrowseFlag,
       
   288         const TDesC8& aFilter, 
       
   289         TInt aStartingIndex,
       
   290         TInt aRequestedCount,
       
   291         const TDesC8& aSortCriteria);
       
   292 
       
   293     /**
       
   294     * Creates and sends a Search action.
       
   295     * @since Series 60 2.6
       
   296     * @param aUuid A Universal Unique Identifier of device.
       
   297     * @param aObjectId Target's id.
       
   298     * @param aSearchCriteria Search rules.
       
   299     * @param aFilter What is returned.
       
   300     * @param aStartingIndex First returned item.
       
   301     * @param aRequestedCount How manyy items is returned.
       
   302     * @param aSortCriteria Sorting order.
       
   303     * @return Error code. KErrNone if no errors.
       
   304     */
       
   305     IMPORT_C TInt CdsSearchActionL(
       
   306         const TDesC8& aUuid,
       
   307         const TDesC8& aObjectId,
       
   308         const TDesC8& aSearchCriteria,
       
   309         const TDesC8& aFilter, 
       
   310         TInt aStartingIndex,
       
   311         TInt aRequestedCount,
       
   312         const TDesC8& aSortCriteria
       
   313         );
       
   314 
       
   315     /**
       
   316     * Creates and sends a GetSystemUpdateID action.
       
   317     * @since Series 60 2.6
       
   318     * @return Error code. KErrNone if no errors.
       
   319     */
       
   320     IMPORT_C TInt CdsSystemUpdateIdActionL(const TDesC8& aUuid);
       
   321 
       
   322     /**
       
   323     * Creates and sends a GetSearchCapabilities action.
       
   324     * @since Series 60 2.6
       
   325     * @param aUuid A Universal Unique Identifier of device.
       
   326     * @return Error code. KErrNone if no errors.
       
   327     */
       
   328     IMPORT_C TInt CdsSearchCapabilitiesActionL(const TDesC8& aUuid);
       
   329 
       
   330     /**
       
   331     * Creates and sends a GetSortCapabilities action.
       
   332     * @since Series 60 2.6
       
   333     * @param aUuid A Universal Unique Identifier of device.
       
   334     * @return Error code. KErrNone if no errors.
       
   335     */
       
   336     IMPORT_C TInt CdsSortCapabilitiesActionL(const TDesC8& aUuid);
       
   337 
       
   338     /**
       
   339     * Creates and sends a CreateObject action.
       
   340     * @since Series 60 2.6
       
   341     * @param aUuid A Universal Unique Identifier of device.
       
   342     * @param aId Parent container.
       
   343     * @param aElements Object in XML form.
       
   344     * @return Error code. KErrNone if no errors.
       
   345     */                                                                                              
       
   346     IMPORT_C TInt CdsCreateObjectActionL(
       
   347         const TDesC8& aUuid,
       
   348         const TDesC8& aId, 
       
   349         const TDesC8& aElements);
       
   350 
       
   351     /**
       
   352     * Creates and sends a ImportResource action.
       
   353     * @since Series 60 2.6
       
   354     * @param aUuid A Universal Unique Identifier of device.
       
   355     * @param aSourceUri Source of import.
       
   356     * @param aDestinationUri Destination of import.
       
   357     * @return Error code. KErrNone if no errors.
       
   358     */
       
   359     IMPORT_C TInt CdsImportResourceActionL(
       
   360         const TDesC8& aUuid,
       
   361         const TDesC8& aSourceUri, 
       
   362         const TDesC8& aDestinationUri
       
   363         );
       
   364 
       
   365     /**
       
   366     * Creates and sends a ExportResource action.
       
   367     * @since Series 60 2.6
       
   368     * @param aUuid A Universal Unique Identifier of device.
       
   369     * @param aSourceUri Source of export.
       
   370     * @param aDestinationUri Destination of export.
       
   371     * @return Error code. KErrNone if no errors.
       
   372     */
       
   373     IMPORT_C TInt CdsExportResourceActionL(
       
   374         const TDesC8& aUuid,
       
   375         const TDesC8& aSourceUri, 
       
   376         const TDesC8& aDestinationUri );
       
   377 
       
   378     /**
       
   379     * Creates and sends a CreteReference action.
       
   380     * @since Series 60 2.6
       
   381     * @param aUuid A Universal Unique Identifier of device.
       
   382     * @param aDestinationContainerId Place for reference.
       
   383     * @param aSourceObjectId Referred object.
       
   384     * @return Error code. KErrNone if no errors.
       
   385     */
       
   386     IMPORT_C TInt CdsCreateReferenceActionL(
       
   387         const TDesC8& aUuid,
       
   388         const TDesC8& aDestinationContainerId, 
       
   389         const TDesC8& aSourceObjectId );
       
   390 
       
   391     /**
       
   392     * Creates and sends a DeleteResource action.
       
   393     * @since Series 60 2.6
       
   394     * @param aUuid A Universal Unique Identifier of device.
       
   395     * @param aResourceUri Resource to be deleted.
       
   396     * @return Error code. KErrNone if no errors.
       
   397     */
       
   398     IMPORT_C TInt CdsDeleteResourceActionL(
       
   399         const TDesC8& aUuid,
       
   400         const TDesC8& aResourceUri );
       
   401 
       
   402     /**
       
   403     * Creates and sends a DestroyObject action.
       
   404     * @since Series 60 2.6
       
   405     * @param aUuid A Universal Unique Identifier of device.
       
   406     * @param aObjectId Object to be destroyed.
       
   407     * @return Error code. KErrNone if no errors.
       
   408     */
       
   409     IMPORT_C TInt CdsDestroyObjectActionL(
       
   410         const TDesC8& aUuid,
       
   411         const TDesC8& aObjectId );
       
   412 
       
   413     /**
       
   414     * Creates and sends a StopTransfer action.
       
   415     * @since Series 60 2.6
       
   416     * @param aUuid A Universal Unique Identifier of device.
       
   417     * @param aTransferId Transfer to be stopped.
       
   418     * @return Error code. KErrNone if no errors.
       
   419     */
       
   420     IMPORT_C TInt CdsStopTransferActionL(const TDesC8& aUuid, TInt aTransferId );
       
   421 
       
   422     /**
       
   423     * Creates and sends a GetTransferProgress action.
       
   424     * @since Series 60 2.6
       
   425     * @param aUuid A Universal Unique Identifier of device.
       
   426     * @param aTransferId Observed transfer.
       
   427     * @return Error code. KErrNone if no errors.
       
   428     */
       
   429     IMPORT_C TInt CdsTransferProgressActionL(const TDesC8& aUuid, TInt aTransferId );
       
   430 
       
   431     /**
       
   432     * Creates and sends a SetTransportURI action.
       
   433     * @since Series 60 2.6
       
   434     * @param aUuid A Universal Unique Identifier of device.
       
   435     * @param aObjectID Updated object.
       
   436     * @param aCurrentTagValue Current object XML.
       
   437     * @param aNewTagValue New object XML.
       
   438     * @return Error code. KErrNone if no errors.
       
   439     */
       
   440     IMPORT_C TInt CdsUpdateObjectActionL(
       
   441         const TDesC8& aUuid,
       
   442         const TDesC8& aObjectID,
       
   443         const TDesC8& aCurrentTagValue,
       
   444         const TDesC8& aNewTagValue );
       
   445 
       
   446     /**
       
   447     * Creates and sends a GetProtocolInfo action.
       
   448     * @since Series 60 2.6
       
   449     * @param aUuid A Universal Unique Identifier of device.
       
   450     * @return Error code. KErrNone if no errors.
       
   451     */
       
   452     IMPORT_C TInt CmProtocolInfoActionL(const TDesC8& aUuid);
       
   453 
       
   454     /**
       
   455     * Creates and sends a GetCurrentConnections action.
       
   456     * @since Series 60 2.6
       
   457     * @param aUuid A Universal Unique Identifier of device.
       
   458     * @return Error code. KErrNone if no errors.
       
   459     */
       
   460     IMPORT_C TInt CmCurrentConnectionsActionL(const TDesC8& aUuid);
       
   461 
       
   462     /**
       
   463     * Creates and sends a PrepareForConnection action.
       
   464     * @since Series 60 2.6
       
   465     * @param aUuid A Universal Unique Identifier of device.
       
   466     * @param aRemoteProtocolInfo
       
   467     * @param aPeerConnectionManager
       
   468     * @param aPeerConnectionID
       
   469     * @param aDirection
       
   470     * @return Error code. KErrNone if no errors.
       
   471     */
       
   472     IMPORT_C TInt CmPrepareConnectionActionL(
       
   473         const TDesC8& aUuid,
       
   474         const TDesC8& aRemoteProtocolInfo,
       
   475         const TDesC8& aPeerConnectionManager,
       
   476         TInt aPeerConnectionID,
       
   477         const TDesC8& aDirection
       
   478         );
       
   479 
       
   480     /**
       
   481     * Creates and sends a ConnectionComplete action.
       
   482     * @since Series 60 2.6
       
   483     * @param aUuid A Universal Unique Identifier of device.
       
   484     * @param aConnectionId
       
   485     * @return Error code. KErrNone if no errors.
       
   486     */
       
   487     IMPORT_C TInt CmConnectionCompleteActionL(
       
   488         const TDesC8& aUuid,
       
   489         TInt aConnectionId
       
   490         );
       
   491 
       
   492     /**
       
   493     * Creates and sends a GetCurrentConnectionInfo action.
       
   494     * @since Series 60 2.6
       
   495     * @param aUuid A Universal Unique Identifier of device.
       
   496     * @param aConnectionId
       
   497     * @return Error code. KErrNone if no errors.
       
   498     */
       
   499     IMPORT_C TInt CmCurrentConnectionInfoActionL(
       
   500         const TDesC8& aUuid,
       
   501         TInt aConnectionId
       
   502         );
       
   503 
       
   504     /**
       
   505     * Creates and sends a GetVolume action.
       
   506     * @since Series 60 2.6
       
   507     * @param aUuid A Universal Unique Identifier of device.
       
   508     * @param aInstanceID Rendring Instance.
       
   509     * @param aChannel Audio channel.
       
   510     * @return Error code. KErrNone if no errors.
       
   511     */
       
   512     IMPORT_C TInt RcGetVolumetActionL(
       
   513         const TDesC8& aUuid,
       
   514         TInt aInstanceID,
       
   515         const TDesC8& aChannel
       
   516         );
       
   517 
       
   518     /**
       
   519     * Creates and sends a SetVolume action.
       
   520     * @since Series 60 2.6
       
   521     * @param aUuid A Universal Unique Identifier of device.
       
   522     * @param aInstanceId Rendring Instance.
       
   523     * @param aChannel Audio channel.
       
   524     * @param aVolume
       
   525     * @return Error code. KErrNone if no errors.
       
   526     */
       
   527     IMPORT_C TInt RcSetVolumetActionL(
       
   528         const TDesC8& aUuid,
       
   529         TInt aInstanceId,
       
   530         const TDesC8& aChannel,
       
   531         TInt aVolume
       
   532         );
       
   533 
       
   534     /**
       
   535     * Creates and sends a GetMute action.
       
   536     * @since Series 60 2.6
       
   537     * @param aUuid A Universal Unique Identifier of device.
       
   538     * @param aInstanceId Rendring Instance.
       
   539     * @param aChannel Audio channel.
       
   540     * @return Error code. KErrNone if no errors.
       
   541     */
       
   542     IMPORT_C TInt RcGetMuteActionL(
       
   543         const TDesC8& aUuid,
       
   544         TInt aInstanceId,
       
   545         const TDesC8& aChannel
       
   546         );
       
   547 
       
   548     /**
       
   549     * Creates and sends a SetTransportURI action.
       
   550     * @since Series 60 2.6
       
   551     * @param aUuid A Universal Unique Identifier of device.
       
   552     * @param aInstanceId Rendring Instance.
       
   553     * @param aChannel Audio channel.
       
   554     * @param aMute
       
   555     * @return Error code. KErrNone if no errors.
       
   556     */
       
   557     IMPORT_C TInt RcSetMuteActionL(
       
   558         const TDesC8& aUuid,
       
   559         TInt aInstanceId,
       
   560         const TDesC8& aChannel,
       
   561         const TDesC8& aMute
       
   562         );
       
   563 
       
   564     /**
       
   565      * This function will be invoke if some network event will occure
       
   566      * for example IP Address of UPnP changes
       
   567      */
       
   568     IMPORT_C void NetworkEvent( CUpnpNetworkEventBase* aEvent );
       
   569 
       
   570 protected:  // Functions from base classes
       
   571     
       
   572     /**
       
   573     * From CUpnpControlPoint State update handler.
       
   574     */
       
   575     IMPORT_C void StateUpdatedL(CUpnpService* aService);
       
   576 
       
   577     /**
       
   578     * From CUpnpControlPoint Device discovery handler.
       
   579     */
       
   580     IMPORT_C void DeviceDiscoveredL(CUpnpDevice* aDevice);
       
   581 
       
   582     /**
       
   583     * From CUpnpControlPoint Device dissappear handler.
       
   584     */
       
   585     IMPORT_C void DeviceDisappearedL(CUpnpDevice* aDevice);
       
   586 
       
   587     /**
       
   588     * From CUpnpControlPoint Action response handler function.
       
   589     */
       
   590     IMPORT_C void ActionResponseReceivedL(CUpnpAction* aAction);
       
   591 
       
   592     /**
       
   593     * From CUpnpControlPoint HTTP message handler function.
       
   594     */
       
   595     IMPORT_C void HttpResponseReceivedL(CUpnpHttpMessage* aMessage);
       
   596 
       
   597     /**
       
   598     * C++ default constructor.
       
   599     */
       
   600     IMPORT_C CUpnpAVControlPoint(MUpnpAVControlPointObserver& aAVControlPointObserver);
       
   601 
       
   602     /**
       
   603     * By default Symbian 2nd phase constructor is private.
       
   604     */
       
   605     IMPORT_C void ConstructL();
       
   606     
       
   607     /**
       
   608     * Initialize CdsActionFactory if is equal NULL 
       
   609     */
       
   610     IMPORT_C void InitializeCdsActionFactoryL();
       
   611 	
       
   612 protected:    // Data
       
   613     //AV control point observer (engine)
       
   614     MUpnpAVControlPointObserver& iAVControlPointObserver;
       
   615 
       
   616     //Action response handler
       
   617     CUpnpActionResponseHandler*         iActionResponseHandler;
       
   618 
       
   619     // UPnP event handler
       
   620     CUpnpStateUpdateHandler*            iStateUpdateHandler;
       
   621 
       
   622     // Action factories
       
   623     CUpnpAvtActionFactory*              iAvtActionFactory;
       
   624     CUpnpCdsActionFactory*              iCdsActionFactory;
       
   625     CUpnpCmActionFactory*               iCmActionFactory;
       
   626     CUpnpRcActionFactory*               iRcActionFactory;
       
   627     };
       
   628 
       
   629 #endif      // C_CUPNPAVCONTROLPOINT_H
       
   630             
       
   631 // End of File