obex/obexprotocol/obex/public/obexpanics.h
changeset 57 f6055a57ae18
parent 0 d0791faffa3f
equal deleted inserted replaced
54:4dc88a4ac6f4 57:f6055a57ae18
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #ifndef OBEX_PANICS_H
       
    17 #define OBEX_PANICS_H
       
    18 
       
    19 /**
       
    20 @file
       
    21 @publishedAll
       
    22 @released
       
    23 
       
    24 This file contains details of all OBEX and OBEX Transport panics which may be raised
       
    25 as a result programming error by the users of OBEX (e.g. Client or Server Application
       
    26 or a proprietry transport controller).
       
    27 
       
    28 Internal panic codes should not be raised due to user errors but would reflect
       
    29 internal Obex programming errors - see inc/obexfaults.h
       
    30 */
       
    31 
       
    32 
       
    33 /**
       
    34 Category for Obex panics
       
    35 @see TObexPanicCode
       
    36 */
       
    37 _LIT(KObexPanicCategory, "Obex");
       
    38 
       
    39 /**
       
    40 @publishedAll
       
    41 @released
       
    42 
       
    43 All Obex panics which may be raised as a result of a client (i.e. external) programming error.
       
    44 Internal Obex panics are errors listed in TObexFaultCode
       
    45 @see TObexFaultCode
       
    46 */
       
    47 enum TObexPanicCode
       
    48 	{
       
    49 	/** A NULL value was supplied for the data buffer.  Note that this
       
    50 	pointer can refer to either a memory buffer or a pointer to a RFile object.
       
    51  	@see CObexBufObject
       
    52  	*/
       
    53 	ENullPointer					= 0,
       
    54 	
       
    55 	
       
    56 	/** The supplied buffer is of zero length.
       
    57 	@see CObexBufObject
       
    58 	*/
       
    59 	EEmptyBuffer					= 1,
       
    60 	
       
    61 	
       
    62 	/** The header is not of the requested type.
       
    63 	@see CObexHeader
       
    64 	*/
       
    65 	EHeaderAsBadType				= 2,
       
    66 	
       
    67 	
       
    68 	/** An unknown TFileBuffering value was supplied.
       
    69  	@see CObexBufObject
       
    70  	*/
       
    71 	EInvalidBufferStrategy			= 3,
       
    72 	
       
    73 	
       
    74  	/** The RFile object does not point to a valid (open) file.
       
    75  	@see CObexBufObject
       
    76  	*/
       
    77  	ENullFileHandle					= 4,
       
    78  	
       
    79  	
       
    80  	/** An unknown TObexBufferingDetails object was supplied to a buffer object.
       
    81  	@see CObexBufObject
       
    82  	*/
       
    83  	EInvalidBufferDetails			= 5,
       
    84  	
       
    85  	
       
    86 	/** A call has been made to CObexServer::RequestIndicationCallback when no
       
    87 	asynchronous request is outstanding.
       
    88 	@see MObexNotifyAsync
       
    89 	@see CObexServer
       
    90 	*/
       
    91 	ENoNotificationToComplete		= 6,
       
    92 
       
    93 
       
    94 	/** A call has been made to CObexServer::Start when an asynchronous request
       
    95 	is outstanding.
       
    96 	@see MObexNotifyAsync
       
    97 	@see CObexServer
       
    98 	*/
       
    99 	EChangeInterfaceDuringWait		= 7,
       
   100 
       
   101 
       
   102 
       
   103  	/** An invalid packet process event has been signalled.
       
   104 	*/
       
   105 	EBadPacketProcessEvent			= 8,
       
   106 
       
   107 
       
   108 	/** An event is available for signalling, but there is no observer set.
       
   109 	*/
       
   110 	ENoPacketProcessObserverSet		= 9,
       
   111 	
       
   112 	/** In CObexServer, a call has been made to RequestCompleteIndicationCallback(TObexResponse)
       
   113 	or RequestIndicationCallback(TObexResponse) with invalid response code or 
       
   114     RequestCompleteIndicationCallback(TInt) with invalid Symbian error code
       
   115 	*/
       
   116 	EInvalidResponseCodeFromServerApp = 10,
       
   117 	
       
   118 	/** In CObexServer, RequestCompleteIndicationCallback has been called in response to Put/GetRequestIndication
       
   119 	or ReuqestIndicationCallback has been called in response to Put/GetComplete or SetPath Indication
       
   120 	*/
       
   121 	EInvalidResponseCallback = 11,
       
   122 
       
   123 	/** The last server response code has been requested prior to a response from the server.
       
   124 	*/
       
   125 	ENoResponseCodeToReturn			= 12,
       
   126 
       
   127 	/** Adding End of Body header when there is data in the object. 
       
   128 	*/
       
   129 	EAddingInvalidEoBHeader = 13,
       
   130 	
       
   131 	/** A user has requested to override the handling of a request
       
   132 	packet at an invalid time.
       
   133 	*/
       
   134 	EOverrideRequestHandlingInBadState = 14,
       
   135 	
       
   136 	/** A pointer must be null before constructing the object it points to.
       
   137 	*/
       
   138 	ENotNullPointer = 15,
       
   139 	};
       
   140 
       
   141 
       
   142 
       
   143 /** 
       
   144 The category for obex transport panics
       
   145 */
       
   146 _LIT(KObexTransportPanicCat, "ObexTransPanics");
       
   147 
       
   148 /**
       
   149 Obex transport panics raised as a result of client programming error
       
   150 */
       
   151 enum TObexTransportPanicCode
       
   152 	{
       
   153 	/**
       
   154 	The number of transport implementations for a given transport name is more than what is allowed.  
       
   155 	Check that there is not more than the allowed number of plugin resource files containing the same default
       
   156 	data and inteface uid.
       
   157 	*/
       
   158  	EInvalidNumberOfTransportImplementations	= 0,	
       
   159 	};
       
   160 
       
   161 #endif
       
   162