sl@0: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // All the ECOM specific error codes returned by the ECOM API to a client
sl@0: // are defined here.
sl@0: // 
sl@0: //
sl@0: 
sl@0: /**
sl@0:  @file
sl@0:  @publishedAll
sl@0:  @released
sl@0: */
sl@0: 
sl@0: #ifndef __ECOMERRORCODES_H__
sl@0: #define __ECOMERRORCODES_H__
sl@0: 
sl@0: #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
sl@0: #include <ecom/ecomextendedinterfaceerrorcodes.h>
sl@0: #endif
sl@0: 
sl@0: /**
sl@0: The base value for Shared Error codes for the ECOM framework and client
sl@0: */
sl@0: const TInt KEComErrBase								= -17000;
sl@0: 
sl@0: /**
sl@0: The last value for ECom Frmework errors
sl@0: This must be modified when error codes are added/deleted
sl@0: */
sl@0: const TInt KEComErrLast								= -17033;
sl@0: 
sl@0: //
sl@0: // Error codes which may be received by a client application
sl@0: //
sl@0: /**
sl@0: The call to instantiate an Interface Implementation failed
sl@0: because no registrations exist for this interface.
sl@0: */
sl@0: const TInt KEComErrNoInterfaceIdentified			= -17004;
sl@0: 
sl@0: /**
sl@0: The Non-Default resolver could not be instantiated.  The most likely
sl@0: situation is that an incorrect implementation uid was supplied.
sl@0: */
sl@0: const TInt KEComErrNoResolver						= -17014;
sl@0: 
sl@0: /**
sl@0: The client has requested too many notifications.  ECom can only support
sl@0: a finite number of notifications
sl@0: */
sl@0: const TInt KEComErrTooManyNotificationsOutstanding	= -17026;
sl@0: 
sl@0: /**
sl@0: An ECom service was requested with an essential parameter missing.  For example,
sl@0: this error code will be supplied when calling an overload of CreateImplementationL
sl@0: which uses a non-default resolver if you fail to supply the resolver
sl@0: */
sl@0: const TInt KEComErrMissingParameter					= -17028;
sl@0: 
sl@0: /** The registry index is invalid but the client has requested notifications - so
sl@0: they will receive a notification when the index is ready again
sl@0: */
sl@0: const TInt KEComErrListInvalidAwaitNotification		= -17029;
sl@0: 
sl@0: /**
sl@0: The registry index is invalid and the client has not requested notifications.
sl@0: They will have to try again later after discoveries have completed.
sl@0: */
sl@0: const TInt KEComErrListCurrentlyUnavailable			= -17030;
sl@0: 
sl@0: 
sl@0: //
sl@0: // Codes which are only used for Panics
sl@0: //
sl@0: /**
sl@0: The Client requested a service which is not supplied by this framework
sl@0: */
sl@0: const TInt KEComErrUnknownService					= -17002;
sl@0: 
sl@0: /**
sl@0: The Interface Implementation reference count is invalid
sl@0: */
sl@0: const TInt KEComErrReferenceCountInvalid			= -17013;
sl@0: 
sl@0: /**
sl@0: The Interface Implementations destruction could not be recorded
sl@0: */
sl@0: const TInt KEComErrDestructionFailed				= -17017;
sl@0: 
sl@0: /**
sl@0: The uid from a resource plugin does not match the uid from its
sl@0: corrsponding DLL.
sl@0: */
sl@0: const TInt KEComErrMismatchedTags					= -17023;
sl@0: 
sl@0: /**
sl@0: The scanning timer for re-discovering plugins is not found in the list
sl@0: of scanning timers.
sl@0: */
sl@0: const TInt KEComErrNotFoundScanTimer					= -17033;
sl@0: 
sl@0: /**
sl@0: The client called DestroyedImplementation with a destruction
sl@0: key of NULL.  This is an irrecoverable error because the object
sl@0: cannot be deleted.
sl@0: */
sl@0: const TInt KEComErrDestroyingWithNullDtorKey		= -17027;
sl@0: 
sl@0: //
sl@0: // Codes which are currently unused but reserved for future expansion
sl@0: //
sl@0: /**
sl@0: The call to Enable the registered Interface Implementation failed
sl@0: */
sl@0: const TInt KEComErrEnableFailed						= -17005;
sl@0: 
sl@0: /**
sl@0: The call to Disable the registered Interface Implementation failed
sl@0: */
sl@0: const TInt KEComErrDisableFailed					= -17006;
sl@0: 
sl@0: /**
sl@0: The call to instantiate an Interface Implementation failed
sl@0: because no appropriate implementation was found.
sl@0: */
sl@0: const TInt KEComErrNoRegistrationsFound				= -17007;
sl@0: 
sl@0: /**
sl@0: The call to Remove the registered Interface Implementation failed
sl@0: */
sl@0: const TInt KEComErrUninstallFailed					= -17009;
sl@0: 
sl@0: /**
sl@0: The call to Re-register an Interface Implementation failed
sl@0: */
sl@0: const TInt KEComErrReinstallFailed					= -17010;
sl@0: 
sl@0: /**
sl@0: The call to Register an Interface Implementation failed
sl@0: */
sl@0: const TInt KEComErrRegistrationFailed				= -17011;
sl@0: 
sl@0: /**
sl@0: The client does not have a session open with the framework
sl@0: */
sl@0: const TInt KEComErrNotConnected						= -17012;
sl@0: 
sl@0: /**
sl@0: The call to Suspend registration activities failed
sl@0: */
sl@0: const TInt KEComErrSuspendFailed					= -17015;
sl@0: 
sl@0: /**
sl@0: The call to Resume registration activities failed
sl@0: */
sl@0: const TInt KEComErrResumeFailed						= -17016;
sl@0: 
sl@0: /**
sl@0: An attempt has been made to add a drive to the registry which
sl@0: already exists
sl@0: */
sl@0: const TInt KEComErrDriveAlreadyInstalled			= -17018;
sl@0: 
sl@0: /**
sl@0: An IIC has been found which does not have a corresponding
sl@0: registration information file
sl@0: */
sl@0: const TInt KEComErrNoRegistrationData				= -17021;
sl@0: 
sl@0: 
sl@0: 
sl@0: #endif	// __ECOMERRORCODES_H__