Fixed AVController, it was accidentally set to search only for renderers. Now also servers are added to device list. Also some minor changes in package definition xml and platform API xml definition files.
/*
* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: errror handling in AVController
*
*/
// INCLUDE FILES
#include <e32std.h>
#include <e32base.h>
#include <upnperrors.h>
#include "upnpaverrorhandler.h"
// CONSTANTS
const TInt KMaxSymbianErrorCode = -100;
const TInt KMinActionErrorCode = 700;
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertToSymbianErrorCode
// Returns the Symbian error code (e32err.h) corresponding the given UPnP
// error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertToSymbianErrorCode(
TInt aUPnPErrorCode,
TUPnPErrorCodeType aErrorType )
{
TInt convertedErrorCode = KErrGeneral;
if( aUPnPErrorCode == EHttpOk || /* 200 */
aUPnPErrorCode == KErrNone )
{
convertedErrorCode = KErrNone;
}
// Don't convert Symbian error codes
else if( aUPnPErrorCode < 0 &&
aUPnPErrorCode > KMaxSymbianErrorCode )
{
convertedErrorCode = aUPnPErrorCode;
}
else
{
if ( aUPnPErrorCode > 0 &&
aUPnPErrorCode < KMinActionErrorCode )
{
convertedErrorCode = ConvertGeneralErrorCode( aUPnPErrorCode );
}
else if( aErrorType == EUPnPConnectionManagerError )
{
convertedErrorCode = ConvertCMErrorCode( aUPnPErrorCode );
}
else if( aErrorType == EUPnPContentDirectoryError )
{
convertedErrorCode = ConvertCDSErrorCode( aUPnPErrorCode );
}
else if( aErrorType == EUPnPRenderingControlError )
{
convertedErrorCode = ConvertRCErrorCode( aUPnPErrorCode );
}
else if( aErrorType == EUPnPAVTransportError )
{
convertedErrorCode = ConvertAVTErrorCode( aUPnPErrorCode );
}
else if( aErrorType == EUPnPHTTPError )
{
convertedErrorCode = ConvertHTTPErrorCode( aUPnPErrorCode );
}
else
{
convertedErrorCode = KErrGeneral;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertGeneralErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given general UPnP error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertGeneralErrorCode(
TInt aUPnPErrorCode )
{
TInt convertedErrorCode = KErrGeneral;
switch( aUPnPErrorCode )
{
case EInvalidAction: /* 400 */
// fall through
case EInvalidVar: /* 404 */
// fall through
case ENotImplemented: /* 602 */
{
convertedErrorCode = KErrNotSupported;
break;
}
case EInvalidArgs: /* 402 */
// fall through
case EArgumentValue: /* 600 */
// fall through
case EArgumentRange: /* 601 */
// fall through
case EStringTooLong: /* 605 */
{
convertedErrorCode = KErrArgument;
break;
}
case EInternalServerError: /* 500 */
{
convertedErrorCode = KErrGeneral;
break;
}
case EActionFailed: /* 501 */
{
convertedErrorCode = KErrGeneral;
break;
}
case EHttpInsufficientStorage:
{
convertedErrorCode = KErrDiskFull;
break;
}
case EOutOfMemory: /* 603 */
{
//Server has no memory
convertedErrorCode = KErrServerBusy;
break;
}
case EHumanIntervention: /* 604 */
{
convertedErrorCode = KErrDied;
break;
}
case ENotAuthorized: /* 606 */
// fall through
case ESignatureFailure: /* 607 */
// fall through
case ESignatureMissing: /* 608 */
// fall through
case ENotEncrypted: /* 609 */
{
convertedErrorCode = KErrAccessDenied;
break;
}
case EInvalidUrl: /* 611 */
// fall through
case ENoSession: /* 612 */
{
convertedErrorCode = KErrNotFound;
break;
}
default:
{
convertedErrorCode = KErrGeneral;
break;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertCMErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given Connection Manager error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertCMErrorCode(
TInt aUPnPErrorCode )
{
TInt convertedErrorCode = KErrGeneral;
switch( aUPnPErrorCode )
{
case ENoSuchObject: /* 701 */
// fall through
case EInvalidCurrentTag: /* 702 */
// fall through
case EInvalidNewTag: /* 703 */
// fall through
case ERequiredTag: /* 704 */
{
convertedErrorCode = KErrCouldNotConnect;
break;
}
case EReadOnlyTag: /* 705 */
{
convertedErrorCode = KErrAccessDenied;
break;
}
case EParameterMismatch : /* 706 */
{
convertedErrorCode = KErrArgument;
break;
}
default:
{
convertedErrorCode = KErrGeneral;
break;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertCDSErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given Content Directory error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertCDSErrorCode(
TInt aUPnPErrorCode )
{
TInt convertedErrorCode = KErrGeneral;
switch( aUPnPErrorCode )
{
case ENoSuchObject: /* 701 */
// fall through
case ENoContainer: /* 710 */
// fall through
case ENoSourceResource: /* 714 */
// fall through
case ENoDestinationResource: /* 718 */
{
convertedErrorCode = KErrNotFound;
break;
}
case EInvalidCurrentTag: /* 702 */
// fall through
case EInvalidNewTag: /* 703 */
// fall through
case EParameterMismatch : /* 706 */
// fall through
case EBadMetadata: /* 712 */
{
convertedErrorCode = KErrArgument;
break;
}
case ERequiredTag: /* 704 */
// fall through
case EReadOnlyTag: /* 705 */
// fall through
case ERestrictedObject: /* 711 */
// fall through
case ERestrictedParentObject: /* 713 */
// fall through
case ESourceAccess: /* 715 */
// fall through
case EDestinationAccess: /* 719 */
{
convertedErrorCode = KErrAccessDenied;
break;
}
case EInvalidSearch: /* 708 */
// fall through
case EInvalidSort: /* 709 */
{
convertedErrorCode = KErrNotSupported;
break;
}
case ETransferBusy: /* 716 */
{
convertedErrorCode = KErrInUse;
break;
}
default:
{
convertedErrorCode = KErrGeneral;
break;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertRCErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given Rendering Control error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertRCErrorCode(
TInt aUPnPErrorCode )
{
TInt convertedErrorCode = KErrGeneral;
switch( aUPnPErrorCode )
{
case ENoSuchObject: /* 701 */
// fall through
case EInvalidCurrentTag: /* 702 */
{
convertedErrorCode = KErrArgument;
break;
}
default:
{
convertedErrorCode = KErrGeneral;
break;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertAVTErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given AV Transport error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertAVTErrorCode(
TInt aUPnPErrorCode )
{
TInt convertedErrorCode = KErrGeneral;
switch( aUPnPErrorCode )
{
case ENoSuchObject: /* 701 */
// fall through
case ERequiredTag: /* 704 */
// fall through
case EInvalidSearch: /* 708 */
// fall through
case ENoContainer: /* 710 */
// fall through
case EBadMetadata: /* 712 */
// fall through
case ERestrictedParentObject: /* 713 */
// fall through
case ENoSourceResource: /* 714 */
// fall through
case ENoFileTransfer: /* 717 */
{
convertedErrorCode = KErrNotSupported;
break;
}
case EInvalidCurrentTag: /* 702 */
// fall through
case ETransferBusy: /* 716 */
{
convertedErrorCode = KErrNotFound;
break;
}
case EInvalidNewTag: /* 703 */
{
convertedErrorCode = KErrHardwareNotAvailable;
break;
}
case EReadOnlyTag: /* 705 */
{
convertedErrorCode = KErrLocked;
break;
}
case EParameterMismatch : /* 706 */
{
convertedErrorCode = KErrWrite;
break;
}
case EInvalidSort: /* 709 */
{
convertedErrorCode = KErrDiskFull;
break;
}
case ESourceAccess: /* 715 */
{
convertedErrorCode = KErrInUse;
break;
}
case ENoDestinationResource: /* 718 */
{
convertedErrorCode = KErrArgument;
break;
}
default:
{
convertedErrorCode = KErrGeneral;
break;
}
}
return convertedErrorCode;
}
// --------------------------------------------------------------------------
// UPnPAVErrorHandler::ConvertHTTPErrorCode
// Returns the Symbian error code (e32err.h) corresponding to the
// given HTTP error code.
// --------------------------------------------------------------------------
TInt UPnPAVErrorHandler::ConvertHTTPErrorCode(
TInt /*aUPnPErrorCode*/ )
{
TInt convertedErrorCode = KErrDisconnected;
return convertedErrorCode;
}
// End of File